Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
~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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
1-1141021968
n-neo
2006-02-27 09:32
2006.04.02
Версия Delphi


15-1141884212
Ega23
2006-03-09 09:03
2006.04.02
С Днём рождения! 8 марта


2-1142429241
Megabyte
2006-03-15 16:27
2006.04.02
Запрос логина и пароля текущего пользователя БД


2-1142872872
AlexLines
2006-03-20 19:41
2006.04.02
Что это за PrintDialog?


15-1142126083
phantasmagoria.ru
2006-03-12 04:14
2006.04.02
дизайн, программирование, www.phantasmagoria.ru





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