Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 | 2 |

 

  Вопрос: Ламерский вопрос про WM_KEYDOWN/UP Добавлено: 27.01.04 11:27  

Автор вопроса:  sne | Web-сайт: hw.t-k.ru | ICQ: 233286456 

Ответить

  Ответы Всего ответов: 23  

Номер ответа: 16
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #16
Добавлено: 02.02.04 01:37

В общем это сабклассинг, но ограниченный, т.к. PB резервирует некоторые мессаги и не отправляет их в функцию... Мда... Типа хошь ловить, делай это как в VB... Понятненько...

Ответить

Номер ответа: 17
Автор ответа:
 brevno



Вопросов: 18
Ответов: 57
 Web-сайт: smsquest.by.ru
 Профиль | | #17
Добавлено: 02.02.04 13:16

Что-то меня воткнуло.. провел небольшое расследование по поводу "голой формы". Без субклассинга тоже можно, причем все довольно просто[%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

Ответить

Номер ответа: 18
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #18
Добавлено: 02.02.04 18:09

:))) Черт, молодец brevno, все-ж докопался до истины :))) Значит эта штука какому-то контролу все это чудло послыает :))) Кто-ж мог себе представить, что CbCtl, это оно :)))

Ответить

Номер ответа: 19
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #19
Добавлено: 03.02.04 01:52

2 Sne

Это ты так шутишь?

Вообще то это синтаксис PB

CBCTL - In a Callback Function, return the numeric ID value of the control sending the callback message.

Ответить

Номер ответа: 20
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #20
Добавлено: 03.02.04 03:04

Да нет... не шутю :) Попросту, по идее надо ловить CbMsg, и отлавливать lParam (СblParam)... Эт так в MSDN написано... а тут что имеем ? Что то с чем то... зачемто еще сюда и CbCtl приплели... Вот и попробуй додумай зачем его тут использовать... Получаются некоторые расхождения с MSDN... а справки к PB полной нет :( Ну в смысле полной - более подробной ;)

Ответить

Номер ответа: 21
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #21
Добавлено: 03.02.04 03:45

Или я тебя не понял или ты хелп вообще не читаешь.

Там же английским по белому[...] написано.

В Callback функции, возвращает идентификатор (ID value) контрола, пославшего callback сообщение.

Ответить

Номер ответа: 22
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #22
Добавлено: 03.02.04 12:05

Вот, вот... А если контролов на модальной форме нет ??? Вот в том случае как раз и нет ничего на модальной форме, а CbCtl используется! Вот я и говорю, что кто бы подумал :)

Ответить

Номер ответа: 23
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #23
Добавлено: 04.02.04 03:46

Тьфу блин, тупанул :)

Ну ладно, исправлюсь.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам