Вниз
Скачать: CL | DM;

Скрытие окна в панели задач   Найти похожие ветки 

← →
~ShamaN~ ©   (2006-01-11 17:16) [0]

Подскажите, каким образом можно скрыть главное окно из панели задач и поместить туда дочернее окно. Также интересен обратный процесс :)


← →
VirEx ©   (2006-01-11 17:53) [1]

для того чтобы убрать с панели задачь меняешь стиль окна:
SetWindowLong(form1.Handle,GWL_EXSTYLE,GetWindowLong(form1.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);

меняешь стиль чтобы сделать дочерним окном:
SetWindowLong(form1.Handle,GWL_STYLE,GetWindowLong(form1.Handle,GWL_STYLE) or WS_CHILD);

делаешь окно формы1 дочерним окну формы2:
setparent(form1.handle,form2.handle)


← →
~ShamaN~ ©   (2006-01-11 17:56) [2]

setparent(form1.handle,form2.handle)
не работает


← →
VirEx ©   (2006-01-11 17:58) [3]


> делаешь окно формы1 дочерним окну формы2:
> setparent(form1.handle,form2.handle)

а, ну если добавить в панели задач то сначало найди хэндл (handle) панели задачь и вместо form2.handle туда вставь
gHandle:=FindWindow("Shell_TrayWnd",nil); //это панель задачь
gHandle := GetWindow(gHandle, GW_CHILD);
gHandle := GetNextWindow(gHandle, GW_HWNDNEXT);
gHandle := GetWindow(gHandle, GW_CHILD); //это "часики"


← →
~ShamaN~ ©   (2006-01-11 18:00) [4]

как раз при скрытии не работает


← →
VirEx ©   (2006-01-11 18:01) [5]


>  [2] ~ShamaN~ ©   (11.01.06 17:56)
> setparent(form1.handle,form2.handle)
> не работает

прежде чем это сделать нужно изменить стиль окна:
меняешь стиль чтобы сделать дочерним окном:
SetWindowLong(form1.Handle,GWL_STYLE,GetWindowLong(form1.Handle,GWL_STYLE) or WS_CHILD);


← →
~ShamaN~ ©   (2006-01-11 18:01) [6]

там синтаксис, кажется, не такой....


← →
~ShamaN~ ©   (2006-01-11 18:03) [7]

я подряд все делаю:
SetWindowLong(form1.Handle,GWL_EXSTYLE,GetWindowLong(form1.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
SetWindowLong(form1.Handle,GWL_STYLE,GetWindowLong(form1.Handle,GWL_STYLE) or WS_CHILD);
setparent(form1.handle,form2.handle)


← →
simpson ©   (2006-01-11 21:31) [8]

~ShamaN~ ©   (11.01.06 17:16)

Давай определимся вначале: это нужно проделать с VCL-формами в обычном приложении, использующем VCL, или речь идет о "чистом" Windows API?


← →
~ShamaN~ ©   (2006-01-12 17:03) [9]

simpson, это обычное VCL



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
9-1127387920
Signate
2005-09-22 15:18
2006.04.02
Ландшафт


1-1141243262
Конопелька
2006-03-01 23:01
2006.04.02
Runtime Err in DLL Library Module on Terminate !


11-1123526991
mixis
2005-08-08 22:49
2006.04.02
Борюсь с подменю - заменить и удалить


8-1128314222
NikNet
2005-10-03 08:37
2006.04.02
Как быстро сравнить два TBITMAP?


2-1142591431
_RusLAN
2006-03-17 13:30
2006.04.02
Изменение установленного компонента!




   Наверх