информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetВсе любят медПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] RegisterClass - да не вопрос! Вот он... 12.05.01 01:40  Число просмотров: 765
Автор: BXS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
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) и окно не раскрывается, хотя создается и начинает получать все сообщения!!!
Хоть убейте - не понимаю.

Почему одно окно работает, а другое - нет. Я пробовал не открывать первое окно - не помогло.
Я в панике...
<programming>
[Win32] Невероятно! Окна как и не было! Взгляните на это! 11.05.01 07:30  
Автор: BXS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вот такого еще не видел: создаю child window на родителе, который тоже child по отношению к главному окну программы. Окно создается, НО ЕГО НИКАКИМИ СРЕДСТВАМИ невозможно отобразить. Окно для данного класса создается точно (проверял через winsight). Оно получает все сообщения. Но даже несмотря на присутствие WS_VISIBLE, посылку ShowWindow(.... NORMAL) и отсутствие окон поверх него - ОНО НЕ ОТОБРАЖАЕТСЯ! Такие братцы дела... Что делать - ума не приложу. Честно говорю, такое встречаю впервые... Может что-то забыл... Хрен знает! Короче, если не лень, чирканите, в чем тут проблема. А то придется в штаты лететь г-на Гейтса трясти. Заранее спасибо!
Привел бы хоть код RegisterClass - CreateWindow, а то хз о чем спик... 11.05.01 08:33  
Автор: Клюква Статус: Незарегистрированный пользователь
<"чистая" ссылка>
[Win32] RegisterClass - да не вопрос! Вот он... 12.05.01 01:40  
Автор: BXS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
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.
не думаю, что окно снова будет в прятки играть.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach