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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] RegisterClass - да не вопрос! Вот он... 12.05.01 01:40  Число просмотров: 659
Автор: 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-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach