Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2010, 05:38   #1
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Вопрос Возможно ли создать локальные дескрипторы окон?

Возможно тема названа немного некорректно, но я не знаю как правильно выразиться.
Помогите пожалуйста ответить на следующий вопрос. Пишем следующий код для создания каркасного приложения:
Код:
#include <windows.h>
Lresult CallBack WndProc(HWND, UINT, WPARAM, LPARAM);

WinApi WinMain(Hinstance hInst, Hinstance, Lpstr, int)
{
WndClass wcl;
MSG msg;
Hwnd wnd;
wcl.style=0
.......
wcl.lpszClassName="First"
.......
Данный код создает класс окна(wcl). Подскажите, а можно ли как-нибудь создать "локальный" класс окна? К примеру, подключаем к программе два модуля, в которых названия классов одинаковые, как сделать, чтобы события окон этих классов обрабатывались с помощью процедур из соответствующих модулей? Можно ли стандартный класс MessageBox заменить своим классом? Можно ли как-нибудь одному и тому же имени класса(в данном случае "First") назначить разные классы?
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 26.02.2010, 10:27   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

В WNDCLASS есть поле "WNDPROC lpfnWndProc;". Какую укажите здесь функцию, та и будет обрабатывать сообщения для окон данного класса.

Вы пишите на с/с++? Тогда MessageBox не класс, а функция (вернее даже дефайн, но это не важно).

"Можно ли как-нибудь одному и тому же имени класса(в данном случае "First") назначить разные классы?"
Смотря, что вы хотите сделать.
Т.к. для создания окна надо зарегистрировать класс в системе, то винда вам вряд ли даст зарегистрировать два класса с разными параметрами, но одинаковыми именами.
Если регистрировать сначала один, потом его убрать... а потом второй зарегистрировать, то можно.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
messageBox поверх всех окон, возможно ли? Kashp Win Api 13 28.02.2010 18:33
Как создать кнопку в панели для окон???? Angel86rus Общие вопросы Delphi 4 03.10.2007 19:01
Дескрипторы потоков - Для каждого элемента списка необходимо создать поток, выполняющий требуемые функции kdv0403 Общие вопросы Delphi 2 09.06.2007 11:12
Возможно создать программу, чтобы она взламывала соеденение по мобильному телефону niva622 Свободное общение 3 01.05.2007 09:22
Возможно ли средствами Delphi создать "звук" V_X Помощь студентам 2 19.12.2006 18:24