Pridelenie medzipamäte Text

Keď systém vytvorí ovládací prvok upraviť, je automaticky vytvorí textu medzipamäte, nastaví počiatočnú veľkosť a zväčšuje veľkosť podľa potreby. Veľkosť môže byť až do preddefinovaných limitu približne 32 kilobajtov jednoriadkové upraviť kontroly. Pretože môžete zmeniť tento limit, sa nazýva mäkké limitu. Žiadosti môžete nastaviť pevný limit na veľkosť medzipamäte zaslaním správy EM_SETLIMITTEXT upraviť kontroly. Ak medzipamäť presahuje buď limit, systému odošle žiadosť správu EN_ERRSPACE . Aplikáciu môžete načítať súčasný limit textu zaslaním správy EM_GETLIMITTEXT.

Systému zvyčajne vytvára editovať buffer kontroly v dialógovom okne, využívajúce pamäť mimo segment údajov aplikácie. Žiadosť môžete potlačiť toto predvolené správanie alokácia a vytvoriť medzipamäť z jeho miestna halda pomocou DS_LOCALEDIT štýl pri vytváraní upraviť kontroly. Aplikácia, ktorá používa DS_LOCALEDIT štýl je zodpovedný za všetky medzipamäte pridelenia. Aby počiatočné rozdelenie môžete volať žiadosti funkcia LocalAlloc funkcie a priesmyku vrátenej medzipamäte zvládnuť upraviť kontrolu jeho odoslaním správy EM_SETHANDLE . Aby sa následné pridelenia (v odpovedi na správu EN_ERRSPACE napríklad), uplatňovanie by malo uložiť aktuálny obsah medzipamäte (podľa potreby) a takto získať nové medzipamäte

  1. Načítať popisovač pamäte v súčasnosti pridelené pre text v ovládacom prvku úprava viacerých riadkov zaslaním kontrolu hlásenie EM_GETHANDLE.
  2. Voľný medzipamäte volaním LocalFree funkcia.
  3. Získať nové pufra (a medzipamäte rukoväť) volaním funkcia LocalAlloc.
  4. Medzipamäť rukoväť dať systému zaslaním kontrolu hlásenie EM_SETHANDLE.

EM_SETHANDLE a EM_GETHANDLE správy sa vzťahujú len na ovládacie prvky úprava viacerých riadkov.

Aplikácia, ktorá používa predvolené správanie alokácia (t.j. nepoužíva DS_LOCALEDIT štýl) nie zaslať upraviť kontroly EM_SETHANDLE a EM_GETHANDLE správ.

Odoslanie správy EM_SETHANDLE má niekoľko nežiaduce účinky: vymaže späť príznak (tvorba EM_CANUNDO správy vráti nulu), vymaže upraviť vlajkou (tvorba EM_GETMODIFY správy vráti nulu) a prekresľuje okna úpravy.

Index