Страница: 1 | 2 |
В общем это сабклассинг, но ограниченный, т.к. PB резервирует некоторые мессаги и не отправляет их в функцию... Мда... Типа хошь ловить, делай это как в VB... Понятненько... Что-то меня воткнуло.. провел небольшое расследование по поводу "голой формы". Без субклассинга тоже можно, причем все довольно просто[%WM_KEYUP! ]. (заметил, что код на форуме появляется с обрезанными пробелами(а, ну да, издержки ХТМЛ), может это можно устранить? Может можно встроить какие-нибудь дополнительные теги, в которых текст не меняется? у кого контакт с админами?) #COMPILE EXE #DIM ALL %IDD_DIALOG1 = 101 %IDOK = 1 %IDCANCEL = 2'из ВинАпи32.ынк (Dialog Box Command IDs) %WM_COMMAND = &H111 %WM_KEYUP = &H101 GLOBAL hDlg AS DWORD CALLBACK FUNCTION ShowDIALOG1Proc() SELECT CASE CBMSG ' способ номер 1 ' CASE %WM_COMMAND ' SELECT CASE CBCTL ' CASE %IDCANCEL : MSGBOX "ESC" ' CASE %IDOK : MSGBOX "Enter" ' END SELECT ' способ номер 2 CASE %WM_KEYUP SELECT CASE CBCTL MSGBOX STR$(CBCTL) END SELECT END SELECT END FUNCTION FUNCTION ShowDIALOG1(BYVAL hParent AS DWORD) AS LONG LOCAL lRslt AS LONG DIALOG NEW hParent, "Dialog1", 69, 76, 195, 106, TO hDlg DIALOG SHOW MODAL hDlg, CALL ShowDIALOG1Proc TO lRslt FUNCTION = lRslt END FUNCTION FUNCTION PBMAIN() ShowDIALOG1 0 END FUNCTION )) Черт, молодец brevno, все-ж докопался до истины )) Значит эта штука какому-то контролу все это чудло послыает )) Кто-ж мог себе представить, что CbCtl, это оно )) 2 Sne Это ты так шутишь? Вообще то это синтаксис PB CBCTL - In a Callback Function, return the numeric ID value of the control sending the callback message. Да нет... не шутю Попросту, по идее надо ловить CbMsg, и отлавливать lParam (СblParam)... Эт так в MSDN написано... а тут что имеем ? Что то с чем то... зачемто еще сюда и CbCtl приплели... Вот и попробуй додумай зачем его тут использовать... Получаются некоторые расхождения с MSDN... а справки к PB полной нет Ну в смысле полной - более подробной Или я тебя не понял или ты хелп вообще не читаешь. Там же английским по белому[...] написано. В Callback функции, возвращает идентификатор (ID value) контрола, пославшего callback сообщение. Вот, вот... А если контролов на модальной форме нет ??? Вот в том случае как раз и нет ничего на модальной форме, а CbCtl используется! Вот я и говорю, что кто бы подумал Тьфу блин, тупанул Ну ладно, исправлюсь.
Вопрос: Ламерский вопрос про WM_KEYDOWN/UP
Добавлено: 27.01.04 11:27
Автор вопроса: sne | Web-сайт:
Ответы
Всего ответов: 23
Номер ответа: 16
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #16
Добавлено: 02.02.04 01:37
Номер ответа: 17
Автор ответа:
brevno
Вопросов: 18
Ответов: 57
Web-сайт:
Профиль | | #17
Добавлено: 02.02.04 13:16
Номер ответа: 18
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #18
Добавлено: 02.02.04 18:09
Номер ответа: 19
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #19
Добавлено: 03.02.04 01:52
Номер ответа: 20
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #20
Добавлено: 03.02.04 03:04
Номер ответа: 21
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #21
Добавлено: 03.02.04 03:45
Номер ответа: 22
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #22
Добавлено: 03.02.04 12:05
Номер ответа: 23
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #23
Добавлено: 04.02.04 03:46