Главная страница
    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
3-51566
Rustik
2002-11-26 14:55
2002.12.16
Требуется сфорировать отчет в Excel по гостовому шаблону


1-51824
DenK_vrtz
2002-12-04 09:35
2002.12.16
Вопрос про системные ресурсы!


4-52037
Василий2
2002-11-04 20:41
2002.12.16
Вопрос для ПРОФИ!


3-51576
zloypunk
2002-11-27 12:28
2002.12.16
Открытие текстового файла как таблицы


6-51859
slaventii
2002-10-18 12:04
2002.12.16
Local Network WorkGroups





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский