Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Панель задач


__ViC__ ©   (2007-01-13 17:35:00) 

Здраствуйте, подскажите плз как можно из своей программы изменить свойство панели задач "отображать поверх всех окон", может есть и другой какой-нить способ, нужно для того что-бы развернуть окно своей программы на весь экран

зы спасибо за помощь


ors_archangel   (2007-01-15 02:05:00) [1]

Менять параметры юзера - это зло, вместо того, чтобы делать панель задач "ниже" сделай своё окно "выше":

   ShowWindow(mainWnd, SW_MAXIMIZE);
   SetForegroundWindow(mainWnd);
   SetWindowPos(mainWnd,HWND_TOPMOST, 0,0,0,0, SWP_NOSIZE or SWP_NOMOVE);

Кстати, так можно поменять разрешение экрана, вдруг нужно:

function SetDisplayMode(w,h,bpp: integer): boolean;
var
mode: TDevMode;
begin
with mode do begin
 dmSize := sizeof(TDevMode);
 if bpp <> 0 then begin
  dmFields := DM_BITSPERPEL;
  dmBitsPerPel := bpp;
 end else
  dmFields := 0;
 if w <> 0 then begin
  dmFields := dmFields or DM_PELSWIDTH;
  dmPelsWidth := w;
 end;
 if h <> 0 then begin
  dmFields := dmFields or DM_PELSHEIGHT;
  dmPelsHeight := h;
 end;
end;
 result := (ChangeDisplaySettings(mode, 0) = DISP_CHANGE_SUCCESSFUL);
end;

а восстановить можно так ChangeDisplaySettings(nil, 0), правда с описанием в стандартном Windows.pas могут быть проблемы :(


Наверх

Титульная страница Поиск, карта сайта Написать письмо