テキストボックスのサブクラス化でできます。
とりあえず、かわりにメッセージボックスを表示しています。
#include "modclbk3.hsp"
#include "user32.as"
#define WM_CONTEXTMENU 0x0000007B
#define GWL_WNDPROC 0xFFFFFFFC
aaa = "aaaaaaaaaaaaaaaaaaaaa"
input aaa, 640
hInput = objinfo(stat, 2)
GetWindowLong hInput, GWL_WNDPROC
pWindowProc_Input_Old = stat
newclbk3 pWindowProc_Input_New, 4, *WindowProc_Input
SetWindowLong hInput, GWL_WNDPROC, pWindowProc_Input_New
stop
*WindowProc_Input
clbkargprotect args
if args.1 == WM_CONTEXTMENU {
// メニューを表示するならここに処理を書く
dialog "メニューの代わりのダイアログ"
//
return 0
}
CallWindowProc pWindowProc_Input_Old, args.0, args.1, args.2, args.3
return