Sunday, March 19, 2006

Zjištění pozice Hlavního panelu

Na závěr si dnes ukážeme jednu malou drobnost. Pokud jste četli minulý díl seriálu, kdy jsme se mimo jiné učili hýbat a klikat myší, možná si vzpomenete, že jsme poněkud okrajově narazili na problém s umístěním Hlavního panelu (v souvislosti se snahou kliknout na tlačítko Start). Naučíme se teď zjistit, ve které ze čtyř možných poloh se Hlavní panel nachází.
procedure KdeJeTaskbar;
var
hTaskbar : HWND;
T : TRect;
ScrW,ScrH : integer;
begin
ScrW := Screen.Width;
ScrH := Screen.Height;
hTaskBar:=FindWindow('Shell_TrayWnd',nil);
GetWindowRect(hTaskBar,T);
if (T.Top > ScrH DIV 2) and (T.Right >= ScrW) then
ShowMessage('Hlavní panel je umístěn na dolním okraji obrazovky')
else
if (T.Top < ScrH DIV 2) and (T.Bottom <= ScrW DIV 2) then
ShowMessage('Hlavní panel je umístěn na horním okraji obrazovky')
else
if (T.left < ScrW DIV 2) and (T.Top <= 0) then
ShowMessage('Hlavní panel je umístěn na levém okraji obrazovky')
else
ShowMessage('Hlavní panel je umístěn na pravém okraji obrazovky')
end;