Есть основное диалоговое окно и диалог с инструментами. Нужно чтобы эти два диалога вели себя как один (т.е. не менять фокус с главного диалога на другой, не отображать второй диалог на панели задач). Какие флаги помогут это реализовать? Заранее благодарен за помощь!)
Ну я точно имелл ввиду первое, независимо от того, насколько верным оказалось предположение. Вот смотрю на окно qip, то, где сообщения набираются. Оно отображается на панели задач, но вышеперечисленные стили не установлены. Убрать из таскбара не выходит. В чем может быть дело?
Что за "окно qip" - врать не буду: не знаю Но что касается пребывания на таскбаре - WS_EX_APPWINDOW для этого не требуется. А убрать из таскбара можно разными способами, смотря по обстоятельствам. Например - (недокументированным) путем SetWindowLong(hWnd,GWL_HWNDPARENT,<message-only окно вроде class #32774). Между прочим, у WS_EX_APPWINDOW и WS_EX_NOACTIVATE в определенном смысле - противоположные задачи: WS_EX_APPWINDOW - WS_EX_NOACTIVATE - P.S. Еще способ убрать с таскбара "на лету": добавить WS_EX_TOOLWINDOW в промежутке между ShowWindow(...SW_HIDE) и ShowWindow(...SW_SHOWNORMAL). Естественно, при этом WS_EX_APPWINDOW д.б. похерен.
Не уверен, что оно после этого будет прорисовываться и нормально себя вести. Мне кроме WS_EX_APPWINDOW больше ни чего на ум не приходит. Не суть, что за окно. Берем другое (я взял главное окно WinRar), смотрим стили - WS_EX_APPWINDOW не стоит, однако такскбар его показывает. Убрать из таскбара игрой со стилями не выходит. Что за ерунда? Или я чего-то упустил...
Bradcast сообщения по-любому не будут приходить. Проверено. Остальное - поверю на слово, пусть себе работает... Только создать его как child.
Все-таки: дополнительный - CreateDialog (т.е. немодальный) с WS_EX_NOACTIVATE и главным диалогом в качестве owner-а.
Я не про модальное, а про дочернее. Честно говоря, не совсем понятна конечная цель. Зачем так извращаться? Мало того, этого скорее всего не понимали и проектировщики WinNT, иначе наверняка реализовали бы подобный функционал - эдакую помесь child_without_parent + appwindow.
Попросту говоря, при нажатии на кнопку на диалоге, должен справа появиться другой диалог, но он должен быть как чать основного диалога, т.е. когда на него кликнуть, фокус на него перемещаться не должен и т.д.
Сделай по-человечески - просто расширяй основную форму и отображай на ней доп. инфу. Это критично? Глянь на Microangelo версии 5.5 и ниже -> основное окно, рядом подобные твоим диалоги. И то, что на них может попасть фокус ни как не мешает "фунциклированию" программы. ЗЫ. Прогер не ищет легких путей?
Я и хотел так сделать, просто на ум пришла извращенная форма и любопытство победило..) Теперь не успокоюсь пока не разберусь!))
Я хочу убрать у дополнительного диалогу титлбар. А без него некрасиво будет, если фокус будет бегать..)