Megosztás:


Ablak- és képernyőpuffer mérete

A képernyőpuffer mérete karaktercellákon alapuló koordináta-rács formájában van kifejezve. A szélesség az egyes sorok karaktercelláinak száma, a magasság pedig a sorok száma. Az egyes képernyőpufferekhez egy ablak tartozik, amely meghatározza a konzolablakban megjelenő képernyőpuffer téglalap alakú részének méretét és helyét. A képernyőpuffer ablakát az ablak téglalapjának bal felső és jobb alsó cellájának karaktercellás koordinátái határozzák meg.

Megjegyzés:

A virtuális terminálütemezések világában az ablak mérete és a képernyőpuffer mérete ugyanarra az értékre van rögzítve. A terminál minden olyan görgetési régiót kezel, amely megegyezik egy olyan konzollal, amelynek képernyőpuffermérete nagyobb, mint az ablakmérete. Ez a tartalom a terminálhoz tartozik, és általában már nem része a címezhető területnek. További információkért tekintse meg a klasszikus konzolfüggvények és a virtuális terminálütemezések összehasonlítását.

A képernyőpuffer bármilyen méretű lehet, csak a rendelkezésre álló memória korlátozza. A képernyőpuffer ablakának méretei nem léphetik túl a konzol képernyőpufferének megfelelő méreteit, vagy a képernyőn az aktuális betűméret alapján (kizárólag a felhasználó által vezérelve) elférő maximális ablak méreteit.

A GetConsoleScreenBufferInfo függvény a következő információkat adja vissza egy képernyőpufferről és annak ablakáról:

  • A konzol képernyőpufferének aktuális mérete
  • Az ablak aktuális helye
  • Az ablak maximális mérete az aktuális képernyőpufferméret, az aktuális betűméret és a képernyőméret alapján

A GetLargestConsoleWindowSize függvény a konzol ablakának maximális méretét adja vissza az aktuális betűtípus és képernyőméret alapján. Ez a méret eltér a GetConsoleScreenBufferInfo által visszaadott maximális ablakmérettől abban az esetben, ha a rendszer figyelmen kívül hagyja a konzol képernyőpufferméretét.

A képernyőpuffer méretének módosításához használja a SetConsoleScreenBufferSize függvényt . Ez a függvény meghiúsul, ha a megadott méret bármelyik dimenziója kisebb, mint a konzol ablakának megfelelő dimenziója.

A képernyőpuffer ablakának méretének vagy helyének módosításához használja a SetConsoleWindowInfo függvényt. Ez a függvény meghiúsul, ha a megadott ablaksarok koordinátái túllépik a konzol képernyőpufferének vagy a képernyőnek a korlátait. Az aktív képernyőpuffer ablakméretének módosítása megváltoztatja a képernyőn megjelenő konzolablak méretét.

A folyamat módosíthatja a konzol bemeneti módját, hogy engedélyezze az ablakbemenetet, hogy a folyamat fogadni tudja a bemenetet, amikor a felhasználó módosítja a konzol képernyőpufferének méretét. Ha egy alkalmazás engedélyezi az ablakbemenetet, a GetConsoleScreenBufferInfo használatával lekérheti az ablak- és képernyőpuffer méretét indításkor. Ez az információ ezután felhasználható annak meghatározására, hogy az adatok hogyan jelenjenek meg az ablakban. Ha a felhasználó módosítja a konzolképernyő pufferméretét, az alkalmazás az adatok megjelenítési módjának módosításával válaszolhat. Egy alkalmazás például módosíthatja a sor végén lévő szövegburkolás módját, ha a sorokban szereplő karakterek száma megváltozik. Ha egy alkalmazás nem engedélyezi az ablakbevitelt, akkor vagy az örökölt ablak- és képernyőpufferméreteket kell használnia, vagy a kívánt méretre kell állítania az indításkor, és vissza kell állítania az örökölt méreteket a kilépéskor. Az ablakbemeneti módról további információt Low-Level Konzol üzemmódok című témakörben talál.