Console и maximize
От: size_t Россия  
Дата: 05.08.03 12:03
Оценка:
#Имя: FAQ.winapi.console.maximize
_>Народ!
_>Расскажите мне такому как окно консоли развернуть на весь экран (не в смысле alt+enter а maximize, средняя кномпочка в правом верхнем углу окна).
H>msdn: The specified width and height cannot be less than the width and height of the console screen buffer's window.

H>SetConsoleScreenBufferSize

H>msdn: The specified width and height cannot be less than the width and height of the console screen buffer's window.

H>то есть фишка по-видимому в следующем: ты пытаешься увеличить размер окна не меняя размер буфера, получается, что размер окна больше размера буфера, но (см. цитату выше) разmер буфера не можер быть меньше размера окна, оттого ничего и не происходит. сначала увеличь размер будера посредством SetConsoleScreenBufferSize, а уже потом SetConsoleWindowInfo.


Спась. Разобрался! Надо было делать так:

        COORD crd = GetLargestConsoleWindowSize( Hnd );
        if( !crd.X && !crd.Y ) return;
        crd.X-=2;
        crd.Y-=2;
        SMALL_RECT sr = {0,0,crd.X-1, crd.Y-1};
        SetConsoleScreenBufferSize(Hnd,crd);
        SetConsoleWindowInfo(Hnd,true,&sr);
----------------
Нужное вписать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.