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

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

Как узнать высоту системного трея в пикселях? [D6, 2000, XP]


Mishenka ©   (2007-01-15 11:31:00) 

Хочу вывести сообщение над треем ввиде формы. Как узнать высоту панели задач и системного трея в пикселях?


Elen   (2007-01-15 12:33:00) [1]


> clickmaker, Игорь Шевченко

Ладно согласна. Тогда получаем область трея так:


h:=FindWindow('Shell_TrayWnd','');
h:=FindWindowEx(h,0,'TrayNotifyWnd','');
GetWindowRect(h,rt);
caption:=inttostr(rt.Bottom-rt.Top);


clickmaker   (2007-01-15 12:23:00) [2]

если уж на то пошло, то панелька эта может прилипать не только к низу и верху... поэтому, что считать высотой?
в общем случае можно проверить uEdge в Appbar


Elen   (2007-01-15 12:14:00) [3]


> Ты опять вернулось ? А зря..

Во-первых почему вернул ось?
Во-вторых - вижу соскучились :)
Ну и в-третьих - а чем [1] плохо, а?


Игорь Шевченко   (2007-01-15 12:09:00) [4]


> Как узнать высоту панели задач и системного трея в пикселях?


uses
 Shellapi;

procedure TfMain.miReportsClick(Sender: TObject);
var Appbar : TAppbarData;
begin
 Appbar.cbSize := SizeOf(AppBar);
 ShAppbarMessage(ABM_GETTASKBARPOS, AppBar);
 ShowMessageFmt('Высота таскбара = %d', [Appbar.rc.bottom - Appbar.rc.top]);
end;

Elen ©   (15.01.07 11:59) [1]

Ты опять вернулось ? А зря..


Elen   (2007-01-15 11:59:00) [5]


>  Как узнать высоту панели задач

Кажись так :

var h:hwnd;rt:trect;
begin
h:=FindWindow('Shell_TrayWnd','');
GetWindowRect(h,rt);
caption:=inttostr(rt.Bottom-rt.Top);
end;


Наверх

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