Автор | Сообщение |
|
| постоянный участник
|
Пост N: 1529
Зарегистрирован: 09.10.06
|
|
Отправлено: 20.06.17 13:17. Заголовок: WINDOW MESSAGEONLY в MiniGUI
После успешной дискуссии и последующего внедрения APPEVENT, предлагаю для включения в MiniGUI еще один механизм обработки сообщений - MESSAGEONLY WINDOW Пример и реализация прилагается. Скрытый текст
/* * Harbour MiniGUI Message-Only Window Demo * (c) 2017 P.Ch. */ #include "minigui.ch" #include "i_winuser.ch" /////////////////////////////////////////////////////////////////////////// #define ev_Fire1 (WM_USER + 100) /////////////////////////////////////////////////////////////////////////// FUNCTION Main( ... ) LOCAL hwnd // DEFINE WINDOW MESSAGEONLY myWnd EVENTS FUNC myWndEvents RESULT TO hwnd MESSAGEONLY myWnd EVENTS myWndEvents TO hwnd IF Empty( hwnd ) ; MsgInfo( "Oops!" ) QUIT ENDIF DEFINE WINDOW Win_1 ; CLIENTAREA 400, 400 ; TITLE 'WndEvents(HWND_MESSAGE) Demo' ; MAIN ; ON RELEASE DestroyWindow( hwnd ) DEFINE BUTTONEX FireButton1 ROW 290 COL 50 CAPTION "Fire 1" ACTION EMIT ev_Fire1 OF hwnd WIDTH 140 HEIGHT 40 END BUTTONEX END WINDOW Win_1.Center Win_1.Activate RETURN 0 /////////////////////////////////////////////////////////////////////////// FUNCTION MyWndEvents( hWnd, message, wParam, lParam ) LOCAL result := 0 HB_SYMBOL_UNUSED( hWnd ) IF message == WM_CREATE MsgInfo( 'Got It!' ) ELSEIF message == ev_Fire1 MsgInfo( 'Got It Again!' ) result := 1 ENDIF RETURN result
| Вопросы (по теме), пожелания приветствуются, критика тем более UPD. CreateMessageOnlyWindow переименована InitMessageOnlyWindow (подобно другим в hmg) Обновленные исходники библиотеки - update1706.7z UPD2. Для MessageOnly окон добавлена установка событий WINEVENT ON WINEVENT ev_Fire1 ACTION bEvent OF hwnd Обновленные исходники библиотеки, примеры - update1706_2.7z UPD3. Обновленные исходники библиотеки, примеры - update1706_3.7z
|
|
|
Новых ответов нет
[см. все]
|
|
|
| moderator
|
Пост N: 1119
Зарегистрирован: 11.02.10
|
|
Отправлено: 20.06.17 17:07. Заголовок: Петр пишет: предлаг..
Петр пишет: цитата: | предлагаю для включения в MiniGUI |
| Принимается с благодарностью Интересная возможность для скрытной передачи сообщений в обход очереди
|
|
|