Вот такого еще не видел: создаю child window на родителе, который тоже child по отношению к главному окну программы. Окно создается, НО ЕГО НИКАКИМИ СРЕДСТВАМИ невозможно отобразить. Окно для данного класса создается точно (проверял через winsight). Оно получает все сообщения. Но даже несмотря на присутствие WS_VISIBLE, посылку ShowWindow(.... NORMAL) и отсутствие окон поверх него - ОНО НЕ ОТОБРАЖАЕТСЯ! Такие братцы дела... Что делать - ума не приложу. Честно говорю, такое встречаю впервые... Может что-то забыл... Хрен знает! Короче, если не лень, чирканите, в чем тут проблема. А то придется в штаты лететь г-на Гейтса трясти. Заранее спасибо!
Привел бы хоть код RegisterClass - CreateWindow, а то хз о чем спик...11.05.01 08:33 Автор: Клюква Статус: Незарегистрированный пользователь
Global - глобальная структура с разной дрянью типа hInstance итд.
Class.style=CS_HREDRAW | CS_VREDRAW;
Class.lpfnWndProc = Scroll_Proc;
Class.cbClsExtra=0;
Class.cbWndExtra=0;
Class.hInstance=Global->hInstance;
Class.hIcon=0;
Class.hCursor=LoadCursor(Global->hInstance, MAKEINTRESOURCE(SCROLL_CURSOR));
Class.hbrBackground=(HBRUSH)GetStockObject(NULL_BRUSH);
Class.lpszMenuName="";
Class.lpszClassName=SCROLL_CLASS_NAME; (="SCROLL2")
if(!RegisterClass(&Class))
return FALSE;
Затем я колю один раз вот это:
CreateWindow(SCROLL_CLASS_NAME, 0, CS_OWNDC|WS_CLIPCHILDREN|WS_CHILD|WS_VISIBLE, X,Y, Width, Height ,Global->hwndMain,(HMENU)Id_1,Global->hInstance,0))==0) - это олкно создается и пашет отлично.
Но затем я вызываю ее еще раз:
CreateWindow(SCROLL_CLASS_NAME, 0, CS_OWNDC|WS_CHILD|WS_VISIBLE, X, Y, Width, Height, Global->hwndMain,(HMENU)Id_2,Global->hInstance,0))==0) и окно не раскрывается, хотя создается и начинает получать все сообщения!!!
Хоть убейте - не понимаю.
Почему одно окно работает, а другое - нет. Я пробовал не открывать первое окно - не помогло.
Я в панике...
[Win32] RegisterClass - да не вопрос! Вот он...13.05.01 16:14 Автор: kabanchik Статус: Незарегистрированный пользователь
что за CS_OWNDC ты используешь в WindowStyles? его надо ипользовать в WindowClass переделай так :
> Class.style=CS_HREDRAW | CS_VREDRAW | CS_OWNDC; > Class.lpfnWndProc = Scroll_Proc; > Class.cbClsExtra=0; > Class.cbWndExtra=0; > Class.hInstance=Global->hInstance; > Class.hIcon=0; > Class.hCursor=LoadCursor(Global->hInstance, > MAKEINTRESOURCE(SCROLL_CURSOR)); > это же константа. и наверняка конфликтует с одним из стилей окошка.
и еще - WS_CLIPCHILDREN используй если окно у тебя будет Parent.
не думаю, что окно снова будет в прятки играть.