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

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

Пуск [D6, Win95/98]


Clift ©   (2003-12-17 16:32:00) 

OnCreate
hTaskBar:= FindWindow("Shell_TrayWnd", nil);
hButton:= GetWindow(hTaskBar, GW_CHILD);
ShowWindow(hButton, SW_HIDE);
OnClose
ShowWindow(hButton, SW_NORMAL);
Работает нормально т.е. кнопка после завершения ВИДНА
а если так
OnCreate
hTaskBar:= FindWindow("Shell_TrayWnd", nil);
hButton:= GetWindow(hTaskBar, GW_CHILD);
SetWindowPos(hButton,HWND_TOP,0,0,0,0,SWP_SHOWWINDOW);
OnClose
ShowWindow(hButton, SW_NORMAL);

то после завершения программы её НЕВИДНО

BringWindowToTop в OnCreate также ничего не дало.
Если SetWindowPos(hButton,HWND_TOP,0,0,0,0,SWP_SHOWWINDOW)
заменить на MoveWindow(hButton,0,0,0,0,True) то ситуация неизменяется.
p.s. Кнопка становится видна лишь после того как попробовать изменить
размеры TaskBar.Я экспериментировал с SWP_и SW_ но ничего не получилось.
Кнопка становилась видимой только после SW_MAXIMIZE но это не то чего я хотел
добиться;)
Как сделать чтобы после того как Пуск перидвинут он стал видимым
(конечно учитывая что в SetWindowPos будет изменяться лишь X координата)


chi   (2003-12-17 19:09:00) [1]

дело в том, что "пуск" дочерняя для Taskbara, поэтому ты меняешь ее координаты только в системе родительского окна(т.е. TaskBar)

вот мой код:
start:=FindWindowEx(FindWindow("Shell_TrayWnd", nil), 0, "Button", "");
Windows.SetParent(start,desctop);
...
MoveWindow(startnew,LEFT,TOP,FRMWidth,FRMHeight,true);
...


Наверх

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