Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

Как узнать, где находится панель ТаскБара?   Найти похожие ветки 

 
TankMan   (2002-10-13 02:33) [0]

У меня вот проблема... вобщем сабж. И еще как узнать какой она высоты ?


 
pirat   (2002-10-13 09:30) [1]

берете winsight, находите окно таскбара (и как называется его оконный класс) и на каком он уровне вложенности (и путь к нему через его parents). В программе
с помощью EnumChildWindows отталкиваясь от окна с handle 0 доходите до таск бара. А дальше GetWindowRect или нечто подоюное (см MSDN)


 
Совет   (2002-10-13 09:38) [2]

Зайдите на сайт "Delphi X-Files" (www.delphixfiles.narod.ru). Там все написано!


 
Song   (2002-10-13 10:30) [3]

ShAppBarMessage()


 
turusov   (2002-10-14 08:38) [4]

Где взял инф. для написания не помню, не спрашивате.
procedure GetDesktop(var R: TRect; var Edge: UInt);
var
AppBarData : TAppBarData;
bAlwaysOnTop, //Taskbar всегда на экране
bAutoHide : boolean;
Clrect, WRect : TRect;
// Edge: UInt; <-- //Местоположение TaskBar
{---}
procedure DetectTaskBar;
begin
AppBarData.hWnd := FindWindow("Shell_TrayWnd", nil);
AppBarData.cbSize := sizeof(AppBarData);
bAlwaysOnTop := (SHAppBarMessage(ABM_GETSTATE, AppBardata) and ABS_ALWAYSONTOP) <> 0;
bAutoHide := (SHAppBarMessage(ABM_GETSTATE, AppBardata) and ABS_AUTOHIDE) <>0;
GetClientRect(AppBarData.hWnd, Clrect);
GetWindowRect(AppBarData.hwnd, WRect);
if (WRect.top > 0) then Edge := ABE_BOTTOM
else
if (WRect.bottom < screen.height) then Edge:=ABE_TOP
else
if WRect.right < screen.width then Edge:=ABE_LEFT
else
Edge:=ABE_RIGHT;
end;
{---}
begin
try
R:= Rect(Screen.DesktopLeft, Screen.DesktopTop,
Screen.DesktopWidth, Screen.DesktopHeight);
DetectTaskBar;
case Edge of
ABE_LEFT: begin
R.Left:= Screen.DesktopLeft + Clrect.Right + 4;
R.Right:= Screen.DesktopWidth - R.Left - 4;
end;
ABE_TOP: begin
R.Top:= Screen.DesktopTop + Clrect.Bottom + 4;
R.Bottom:= Screen.DesktopHeight - R.Top - 4;
end;
ABE_RIGHT: R.Right:= Screen.DesktopWidth - Clrect.Right - 4;
ABE_BOTTOM: R.Bottom:= Screen.DesktopHeight - Clrect.Bottom - 4;
end;//case

except
R:= Rect(Screen.DesktopLeft, Screen.DesktopTop,
Screen.DesktopWidth, Screen.DesktopHeight);
Edge:= ABE_BOTTOM;
end;
end;


 
turusov   (2002-10-14 08:40) [5]

TAppBarData - ShellAPI


 
TankMan   (2002-10-15 03:41) [6]

Спасибо попробую...



Страницы: 1 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.006 c
14-51919
Pan
2002-11-25 12:17
2002.12.16
Не могу попасть в regedit (win98)


1-51664
Sego
2002-12-05 14:32
2002.12.16
Коректный ввод в Tedit


3-51603
SemFLY
2002-11-27 23:40
2002.12.16
Database Desktop, но что лучше для MySQL


7-51986
SergePik
2002-10-14 15:12
2002.12.16
адрес LPT порта в Win2k


6-51874
izhalex
2002-10-22 13:41
2002.12.16
NMStrm big trouble





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский