Popup window
От: Scarabey  
Дата: 20.10.09 04:31
Оценка:
Привет!
Есть задача сделать всплывающее окошко, например как у ComboBox.
Это конечно тоже окно.
Я могу сделать обычную форму без рамок всяких, TopMost=True, ShowInTaskBar=False и при деактивации убирать его. Но есть проблемы.
Например у активной формы заголовок деактивируется, вернее она сама деактивируется, просто только по заголовку видно, я эту проблему решил передав активную форму как Owner и внутри Popup окна обрабатываю WM_NCACTIVATE для неё.
Вроде все замечательно, но если не передавать Owner?
Как-то же создаются эти всякие окошки правильно, менюшки, тултипы? Может стилей каких окну добавить или убрать?
Идеи есть у кого? Или решение верное?
Re: Popup window
От: Visor2004  
Дата: 20.10.09 08:13
Оценка:
Здравствуйте, Scarabey, Вы писали:

S>Привет!

S>Есть задача сделать всплывающее окошко, например как у ComboBox.
S>Это конечно тоже окно.
S>Я могу сделать обычную форму без рамок всяких, TopMost=True, ShowInTaskBar=False и при деактивации убирать его. Но есть проблемы.
S>Например у активной формы заголовок деактивируется, вернее она сама деактивируется, просто только по заголовку видно, я эту проблему решил передав активную форму как Owner и внутри Popup окна обрабатываю WM_NCACTIVATE для неё.
S>Вроде все замечательно, но если не передавать Owner?
S>Как-то же создаются эти всякие окошки правильно, менюшки, тултипы? Может стилей каких окну добавить или убрать?
S>Идеи есть у кого? Или решение верное?

Может WS_POPUP стиль окошку попробовать добавить?
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[2]: Popup window
От: Scarabey  
Дата: 20.10.09 08:36
Оценка:
V>Может WS_POPUP стиль окошку попробовать добавить?

Нет, это не помогает.

В поисках я наткнулся на такое выражение в MSDN
...Если в неактивном окне следует использовать элементы управления пользовательского интерфейса, следует рассмотреть возможность использования элементов управления ToolStrip, таких как ToolStripDropDown. Эти элементы управления являются безоконными и не приведут к активации окна при их выборе...

Как создать и отобразить такое безоконное окно с ЭУ?
Ну как то же делают всякие менюшки кастомные, да и контролы всякие с всплывающими окнами, наподобие цветовой палитры.
Re: Popup window
От: MxKazan Португалия  
Дата: 20.10.09 10:33
Оценка:
Здравствуйте, Scarabey, Вы писали:

S>Как-то же создаются эти всякие окошки правильно, менюшки, тултипы? Может стилей каких окну добавить или убрать?

S>Идеи есть у кого? Или решение верное?
SetWindowPos. Там есть SWP_SHOWWINDOW и SWP_NOACTIVATE.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.