Как рзвернуть окно на весь экран?
На данный момент есть одна тупая идея: сделать окошко со стилем HWND_TOPMOST и задать ему размеры экрана. Но все равно, если нажать теперь на этом окошке кнопу развернуть, то панелька внизу появится.
Есть еще мысль прятать панельку (что более правильно).
Может знаете как замутить?
На весь экран - это значит на весь экран, то есть закрыть панель управления.
На данный момент есть одна тупая идея: сделать окошко со стилем HWND_TOPMOST и задать ему размеры экрана. Но все равно, если нажать теперь на этом окошке кнопу развернуть, то панелька внизу появится.
Есть еще мысль прятать панельку (что более правильно).
Может знаете как замутить?
ShowWindow(hWnd,SW_HIDE);
//дальше просто разворачивай окно
Стили окна CS_HREDRAW | CS_VREDRAW | CS_OWNDC
Параметры структуры (у меня ессно):
memset(&dmScreenSettings,0,sizeof(dmScreenSettings)); // Makes Sure Memory's Cleared
dmScreenSettings.dmSize=sizeof(dmScreenSettings); // Size Of The Devmode Structure
dmScreenSettings.dmPelsWidth = width; // Selected Screen Width
dmScreenSettings.dmPelsHeight = height; // Selected Screen Height
dmScreenSettings.dmBitsPerPel = bits; // Selected Bits Per Pixel
dmScreenSettings.dmDisplayFrequency = 85;
dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT;
Если совсем уж не то, или не сработает - прошу камнями не забрасывать.:)
На весь экран - это значит на весь экран, то есть закрыть панель управления.
На данный момент есть одна тупая идея: сделать окошко со стилем HWND_TOPMOST и задать ему размеры экрана. Но все равно, если нажать теперь на этом окошке кнопу развернуть, то панелька внизу появится.
Есть еще мысль прятать панельку (что более правильно).
Может знаете как замутить?
Присвоить окну стиль WS_POPUP.
Присвоить окну стиль WS_POPUP.
Тогда будут недоступны кнопки свернуть/максимизировать/закрыть. Даже при WS_SYSMENU.
Тогда будут недоступны кнопки свернуть/максимизировать/закрыть. Даже при WS_SYSMENU.
Нарисовать от руки ;))
ShowWindow(hWnd,SW_HIDE);
//дальше просто разворачивай окно
Как ни странно, после изчезновения таскбара окно все равно не разворачивается на весь экран.
Как ни странно, после изчезновения таскбара окно все равно не разворачивается на весь экран.
Это когда таскбар не убирается.
А когда убирается то всё ок.
Это когда таскбар не убирается.
А когда убирается то всё ок.
Твой пост как обычно был мега полезен :)
На данный момент (и скорее всего оно так и останется) решаю проблему так, как опсал вначале: HWND_TOPMOST и задаю окну размеры экрана. Эта идея мне уже не кажется такой тупой.
Нарыл в нете пример. Так они также делают. Это было видно сразу даже без просмотра кода, потому что если альт табом открыть другое окно, то таск бар появлялся (я так понмаю в этот момент с окна снимался HWND_TOPMOST).
Твой пост как обычно был мега полезен :)
На данный момент (и скорее всего оно так и останется) решаю проблему так, как опсал вначале: HWND_TOPMOST и задаю окну размеры экрана. Эта идея мне уже не кажется такой тупой.
Нарыл в нете пример. Так они также делают. Это было видно сразу даже без просмотра кода, потому что если альт табом открыть другое окно, то таск бар появлялся (я так понмаю в этот момент с окна снимался HWND_TOPMOST).
Это как это, как всегда?
Я вот что имел ввиду, интересно, как таскбар или например ICQ ограничивают область экрана, так что при развертывании на весь экран, он развертывается только в пределах не задевающие ICQ и Taskbar
: TForm(Owner)
{
HWND Hnd = FindWindow("Shell_TrayWnd",NULL);
ShowWindow(Hnd,SW_HIDE);
Width = Screen->Width;
Height = Screen->Height;
}
а при закрытии окна...
{
delete Sky;
HWND H = FindWindow("Shell_TrayWnd",NULL);
ShowWindow(H,SW_SHOW);
}
Вот сейчас посмтрел сырец какой-то проги на биледре... там это сделано как я говорил, только ещё окну явно задются р-ры экрана...
Лучше уже дать окну HWND_TOPMOST и задать размеры окошку, чем прятать таск бар, потому что при вылете програмы таск бар останется невидимым, что не очень хорошо.
я делал окно на весь экран, задав ему стиль 0x80000000|ws_maximized. Получается полноэкранное приложение, нет никаких проблем с таскбаром, скрывать который не есть хорошо.
Не ws_maximized, а WS_MAXIMIZE
0x80000000 - это WS_POPUP
тоесть см. пост Dart Bobr'а (четвертый сверху)
Это пока неплохой вариант. Но можно как-то иначе.
к примеру, как заметил 3D bob, ICQ и некоторые другие проги умеют органичивать область десктопа.
SHAppBarMessage
Респект, посмотрел в мельком МСДН - вроде то что доктор прописал