Автор | Сообщение |
|
| |
Пост N: 57
Зарегистрирован: 05.06.07
|
|
Отправлено: 31.07.08 05:58. Заголовок: Как отловить (и обработать) клик правой кнопки?
Задача. Есть объект DEFINE IMAGE ... [ ACTION |<ActionProcedureName> | <bBlock> ] ... END IMAGE в котором есть реакция на нажатие левой кнопки. А как сделать аналогичное действие для правой?
|
|
|
Ответов - 6
[только новые]
|
|
|
| |
Пост N: 67
Зарегистрирован: 12.02.08
|
|
Отправлено: 31.07.08 07:22. Заголовок: SADSTAR2 пишет: А к..
SADSTAR2 пишет: цитата: | А как сделать аналогичное действие для правой? |
| На форуме это уже обсуждалось. Нужно организовать ф-ю МуЕvents и вставить : ....... ....... elseif GetNotifyCode ( lParam ) == NM_RCLICK i := Ascan( _HMG_aFormHandles , hWnd ) cFormName := if( i > 0, _HMG_aFormNames[ i ], "" ) i := Ascan( _HMG_aControlHandles, GetHwndFrom( lParam ) ) cControlName := if( i > 0, _HMG_aControlNames[ i ], "" ) if cFormName == "MyWin" .and. cControlName == "MyControl" result:= MyResult() else result:= Events ( hWnd, nMsg, wParam, lParam ) endif ......... .........
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 31.07.08 09:35. Заголовок: oIm:bRClicked:={..
oIm:bRClicked:={||MyFunction()}
|
|
|
|
| |
Пост N: 58
Зарегистрирован: 05.06.07
|
|
Отправлено: 01.08.08 02:40. Заголовок: fil пишет: oIm:bRCl..
fil пишет: цитата: | oIm:bRClicked:={||MyFunction()} |
| Это что за объект? Из какой оперы? valery2 пишет: цитата: | На форуме это уже обсуждалось. Нужно организовать ф-ю МуЕvents и вставить : ....... ....... elseif GetNotifyCode ( lParam ) == NM_RCLICK i := Ascan( _HMG_aFormHandles , hWnd ) cFormName := if( i > 0, _HMG_aFormNames[ i ], "" ) i := Ascan( _HMG_aControlHandles, GetHwndFrom( lParam ) ) cControlName := if( i > 0, _HMG_aControlNames[ i ], "" ) if cFormName == "MyWin" .and. cControlName == "MyControl" result:= MyResult() else result:= Events ( hWnd, nMsg, wParam, lParam ) endif ......... ......... |
| Поискал в форуме, в примерах миниГУИ54, в Хелпе. Описания действия функции MyEvents и ее параметров не нашел. Списка кодов событий тоже.
|
|
|
|
| |
Пост N: 68
Зарегистрирован: 12.02.08
|
|
Отправлено: 01.08.08 07:00. Заголовок: #define WM_NOTIFY ..
#define WM_NOTIFY 78 #define NM_CLICK (-2) #define NM_RCLICK (-5) #define LVN_BEGINDRAG (-109) SET EVENTS FUNCTION TO MYEVENTS ............. ............, ............. Function MyEvents ( hWnd, nMsg, wParam, lParam ) Local i, x, cFormName := "", cControlName := "" , result:=0 if nMsg == WM_NOTIFY if GetNotifyCode ( lParam ) == NM_RCLICK i := Ascan( _HMG_aFormHandles , hWnd ) cFormName := if( i > 0, _HMG_aFormNames[ i ], "" ) i := Ascan( _HMG_aControlHandles, GetHwndFrom( lParam ) ) cControlName := if( i > 0, _HMG_aControlNames[ i ], "" ) if cFormName == "MyWin" .and. cControlName == "MyControl" result:= MyFunc() else result:= Events ( hWnd, nMsg, wParam, lParam ) endif else result:= Events ( hWnd, nMsg, wParam, lParam ) endif else result:= Events ( hWnd, nMsg, wParam, lParam ) endif Return result
|
|
|
|
| |
Пост N: 59
Зарегистрирован: 05.06.07
|
|
Отправлено: 04.08.08 00:45. Заголовок: я сделал так
я сделал так FUNCTION MyEvent1( hWnd, nMsg, wParam, lParam ) LOCAL result := 0, nm, nC, nR, mC:=int(lParam%65536), mR:=int(lParam/65536) do case case nMsg == WM_LBUTTONDOWN //----------------------------------------------------------- ... case nMsg == WM_LBUTTONUP //----------------------------------------------------------- ... case nMsg == WM_RBUTTONDOWN //----------------------------------------------------------- ... case nMsg == WM_RBUTTONUP //----------------------------------------------------------- ... case nMsg == WM_MOUSEMOVE //----------------------------------------------------------- ... OTHERWISE Result := Events( hWnd, nMsg, wParam, lParam ) endcase RETURN result
|
|
|
|
| |
Пост N: 69
Зарегистрирован: 12.02.08
|
|
Отправлено: 07.08.08 09:53. Заголовок: SADSTAR2 пишет: Ест..
SADSTAR2 пишет: SADSTAR2 пишет: Так нужно - где угодно, или только там, где объект? !!! Почувствуй разницу.
|
|
|
|