powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создал/Нарисовал свой контрол на WinAPi. Дайте совет
16 сообщений из 16, страница 1 из 1
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330612
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я создал свой контрол сделал его в стиле как в контакте поля ввода "Ваше имя", получился довольно красивый Edit красивый и с вертикальным выравниванием.

Этот edit я рисовал в стандартной оконной функции WndProc и вся реализация была распределана между сообщениями WM_PAINT,
WM_MOUSEMOVE, WM_LBUTTONDOWN и остальные.

В результате функция WndProc и все сообщения получились большими.

Дак вот вопрос: Как можно это сделать все в отдельном классе ?

создать в нем различные обработчики события OnClick, OnMoveMouse и т.д
и как создать в этом классе свою обработку сообщений GetMessage для моего контрола
а сам компонент создавать на форме функцией к примере CreateEdit(int x, int y, int cx, int cy ,...)

Если что не понятно написано прошу простить. Я попытаюсь объяснить заново.

В интернете не как не мог найти то что мне нужно.
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330613
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

Язык C++
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330632
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

MFC не пробовал использовать?
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330633
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

Я совсем не понимаю, что тебе нужно.
Особенно про get message для контрола.
Поясни.
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330635
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё можно использовать WTL. Он бесплатный и легче MFC.
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330636
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivgera3323,

Я совсем не понимаю, что тебе нужно.
Особенно про get message для контрола.
Поясни.

GetMessage Извлекает сообщения Windows и передает их в оконную функцию, а я хочу создать что то вроде своей оконной функции со своей очередью сообщений для своего контрола.
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330639
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323я хочу
Перехоти. Программируешь для Windows - играй по её правилам: обрабатывай сообщения,
которые тебе поступают и ничего более.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38330648
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323MasterZivgera3323,

Я совсем не понимаю, что тебе нужно.
Особенно про get message для контрола.
Поясни.

GetMessage Извлекает сообщения Windows и передает их в оконную функцию, а я хочу создать что то вроде своей оконной функции со своей очередью сообщений для своего контрола.


Оконную функцию ты не мог не создать, если делал то, что ты сказал. Ты должен был регистрировать класс окна и там должна была быть оконная функция.

Очередь сообщений у окна не бывает, она одна на поток.
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335359
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323MasterZivgera3323,

Я совсем не понимаю, что тебе нужно.
Особенно про get message для контрола.
Поясни.

GetMessage Извлекает сообщения Windows и передает их в оконную функцию, а я хочу создать что то вроде своей оконной функции со своей очередью сообщений для своего контрола.

Именно так и работают стандартные контролы в windows такие как поля ввода кнопки и выпадающие списки.
И это наверно правильно т.к. каждый контрол обрабатывает только свою очередь сообщений что позволяет не сваливать все работу над событиями в одну кучу
простой пример с с тремя дочерними окнами () каждый контрол может иметь свою функцию обработки сообщений ну или общую на всех
в общем система просто вызывает функцию WNDCLASS.lpfnWndProc
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335372
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Малыхин Сергейв общем система просто вызывает функцию WNDCLASS.lpfnWndProc
не система, а DispatchMessage
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335460
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Вызовы WINAPI изнутри это тихий ужас это обертки для оберток оберток уже почти 30лет оборачивают так что я сильно сомневаюсь что именно из DispatchMessage вызывается WNDCLASS.lpfnWndProc впрочем это не важно
В общем если посмотреть на этот вопрос сверху и немного сбоку
то снизу мы ничего не увидим =)
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335477
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Малыхин Сергей,

не отослать сообщение, а просто вызвать оконную функцию, не усложняйте простые вещи.

На GetMessage вся работа с очередью закончилась
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335680
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Малыхин СергейИ это наверно правильно т.к. каждый контрол обрабатывает только свою очередь сообщений что позволяет не сваливать все работу над событиями в одну кучу


Ребята, ещё раз.

У каждого потока приложения очередь сообщений ТОЛЬКО ОДНА. Больше не бывает.
Сообщения всех окон приложения идут через одну единственную очередь сообщений приложения (это обычно, если приложение многопоточное -- возможно, через несколько).

На каждое окно очередь не создаётся.

Также у каждого КЛАССА окна СВОЯ функция окна.
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335686
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызовы WINAPI изнутри это тихий ужас это обертки для оберток оберток уже почти 30лет оборачивают так что

Нет там никаких обёрток.

я сильно сомневаюсь что именно из DispatchMessage вызывается WNDCLASS.lpfnWndProc впрочем это не важно

Не сомневайся. Именно DispatchMessage.
Впрочем, оконную функцию может вызвать любой, например, SendMessage.
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335688
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял, что кому ещё не ясно с вопросом ?
...
Рейтинг: 0 / 0
Создал/Нарисовал свой контрол на WinAPi. Дайте совет
    #38335700
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivТакже у каждого КЛАССА окна СВОЯ функция окна.
которую можно ЗАМЕНИТЬ у конкретного экземпляра окна.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создал/Нарисовал свой контрол на WinAPi. Дайте совет
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]