declare sub MAINFORM_KEYDOWN edecl (ScanCode As Long)
common shared MainForm As Object
EOBJMAX%=8
COMMON SHARED EOBJ(8) AS OBJECT
COMMON SHARED CWH&(8) 'ウィンドウハンドルチェックヨウ
VAR EOBJI AS LONG
FOR EOBJI=1 TO EOBJMAX%
EITEM$="EDIT"+MID$(STR$(EOBJI),2)
EOBJ(EOBJI).ATTACH GETDLGITEM(EITEM$)
CWH&(EOBJI)=EOBJ(EOBJI).GETHWND
NEXT EOBJI
var hWnd As Long
var uMsg As Long
var wParam As Long
var lParam As Long
var dwRet As Long
EOBJ(1).SETFOCUS
'
while 1
do while CheckEvent()
CallEvent
loop
do while FbCheckQueMessage()
GetWndProc hWnd, uMsg, wParam, lParam
Select Case uMsg
Case WM_KEYDOWN
EOBJI=0
FOR II%=1 TO EOBJMAX%
IF EOBJ(II%).GETHWND=HWND THEN EOBJI=II%
NEXT II%
''IF EOBJI>0 THEN MAINFORM_KEYDOWN( wParam ,EOBJI )
IF EOBJI>0 THEN MAINFORM_KEYDOWN( wParam )
End Select
loop
wend
COMMON SHARED EOBJ(8) AS OBJECT
COMMON SHARED CWH&(8) 'ウィンドウハンドルチェックヨウ
declare sub MAINFORM_START edecl ()
sub MAINFORM_START()
MainForm.Attach GetHwnd()
FOR J%=1 TO 8
DUMMY = FbInsertHackWnd(EOBJ(J%).GetHwnd, 0)
NEXT J%
end sub
declare sub MAINFORM_KEYDOWN edecl (ScanCode As Long)
sub MAINFORM_KEYDOWN(ScanCode As Long)
WH&=GETFOCUS
W=0
for I=1 to 8
if WH&=CWH&(I) then W=I
next I
IF W>0 THEN
IF SCANCODE=&H26 THEN
W=W-1 : IF W<1 THEN W=1
EOBJ(W).SETFOCUS
EOBJ(W).SETSELTEXT 0,0,0 'カーソル位置を先頭に
ELSE IF SCANCODE=&H28 THEN
W=W+1 : IF W>8 THEN W=8
EOBJ(W).SETFOCUS
EOBJ(W).SETSELTEXT 0,0,0 'カーソル位置を先頭に
ENDIF
ENDIF
if scancode = &h70 then EOBJ(1).SETFOCUS
if scancode = &h71 then EOBJ(2).SETFOCUS
if scancode = &h72 then EOBJ(3).SETFOCUS