У меня есть окно Main. И два других окна W1 и W2 которые образованы с hWndParent=MainHandle;
Так вот проблема. Если активное окно было не Main и приложение потеряло Active то при восстановлении Active показывается то окно на котором стоял Active. Если же Main был последним активным оконом то показываются все окна. Как быть?
Здравствуйте Igor_Pavlov, вы писали:
IP>У меня есть окно Main. И два других окна W1 и W2 которые образованы с hWndParent=MainHandle; IP>Так вот проблема. Если активное окно было не Main и приложение потеряло Active то при восстановлении Active показывается то окно на котором стоял Active. Если же Main был последним активным оконом то показываются все окна. Как быть?
Точно не уверен, но может у тебя при создании окон не был включен флаг WS_OVERLAPPEDWINDOW???
Здравствуйте Igor_Pavlov, вы писали:
IP>Здравствуйте ppp, вы писали:
ppp>>Точно не уверен, но может у тебя при создании окон не был включен флаг WS_OVERLAPPEDWINDOW???
IP>ага. не вкл. а нафиг он мне?
IP> hMain=CreateWindowEx(0,szWindowMainClass, szVersionName, WS_POPUP | WS_SYSMENU,200, 150, 10, 10, 0, NULL, hInstance, NULL);
IP><skip>
IP> hWindow1=CreateWindowEx(WS_EX_TOOLWINDOW,szWindow1Class, szVersionName, WS_POPUP,200, 150, 10, 10, hMain, NULL, hInst, NULL);
IP><skip>
IP> hWindow2=CreateWindowEx(WS_EX_TOOLWINDOW,szWindow2Class, szVersionName, WS_POPUP,200, 150, 10, 10, hMain, NULL, hInst, NULL);
IP>у меня скиновый интерфейс.
IP>ага. не вкл. а нафиг он мне?
Дык :) Нужен!
WS_OVERLAPPEDWINDOW Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_TILEDWINDOW style
Либо я тебя вообще не понимаю
Если хочешь, я тебе пришлю sample-проект, где что-то работает и окна показываются нормально. В нем используется
Не, не нужен.
ppp>WS_OVERLAPPEDWINDOW Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_TILEDWINDOW style
Зачем мне вся эта ботва?
ppp>Либо я тебя вообще не понимаю
Скорее всего. Я говорю про активейт окна. Ты кликнул на не активное и оно стало активным.
(как интересно на активность может влиять наличие к примеру кэпшена?)
ppp>Если хочешь, я тебе пришлю sample-проект, где что-то работает и окна показываются нормально. В нем используется ppp>hWindow1=CreateWindowEx(WS_EX_TOOLWINDOW,"MainWClass", "Window1", WS_OVERLAPPEDWINDOW,200,50, 100, 100, hwnd, NULL, hinst, NULL); ppp>Либо давай конкретней, КАК ты хочешь, чтобы оно у тебя работало?
Я уже вроде решил трабл. Я обрабатывал WM_ACTIVATE, а надо было WM_ACTIVATEAPP.
Спасибо за участие.