if xkey=0 then xkey=1
'while GETASYNCKEYSTATE(xkey)=-1: wend
IF GETASYNCKEYSTATE(xkey)=-1 THEN
WHILE ( GETASYNCKEYSTATE(xkey)=-1 AND XKEYCC<4 )
WAIT 8 '1/100秒単位
XKEYCC=XKEYCC+1
WEND
IF GETASYNCKEYSTATE(xkey)=-1 THEN WAIT 10
'FC=-1: GOTO *KEYCHK.RET
ELSE
XKEYCC=0
ENDIF
FC=-1
'
WH&=GETFOCUS
W=0 'フォーカスチェック,CNOケッテイ
for I=1 to CNOMAX
if WH&=CWH&(I) then W=I :exit for
next I
if W>0 then
CNO=W
'--- カンジヘンカンチュウノチェック
WI&=MY_IME_KAISI(WH&) 'コンテキストハンドル
WWW&=MY_IME_SIRABE(WI&,GCS_COMPSTR,BUF$,0)
WW&=MY_IME_OWARI(WH&,WI&)
if WWW&<>0 then
while GETASYNCKEYSTATE(&HD) :wend
endif
'
while GETASYNCKEYSTATE(&H10) and GETASYNCKEYSTATE(&HD) :FC=100 :wend 'シフトエンター
while GETASYNCKEYSTATE(&H70) :FC= 1 :wend ' &H70 F1
while GETASYNCKEYSTATE(&H71) :FC= 2 :wend ' &H71 F2
while GETASYNCKEYSTATE(&H72) :FC= 3 :wend ' &H72 F3
'・・・・
while GETASYNCKEYSTATE(&H7B) :FC=12 :wend ' &H7B F12
IF GETASYNCKEYSTATE(&HD) THEN FC= 0:XKEY=&HD ' &HD Enter
IF GETASYNCKEYSTATE(&H26) then FC=100:XKEY=&H26 ' &H26 ↑
IF GETASYNCKEYSTATE(&H28) then FC= 0:XKEY=&H28 ' &H28 ↓
endif
return
sub MAINFORM_START()
EOBJ(1).SETFOCUS
' ウィンドウハンドル決定
for I=1 to CNOMAX
CWH&(I)=EOBJ(I).GETHWND
next I
'
end sub
'
sub MAINFORM_SETFOCUS()
'if CNO>0 then EOBJ(CNO).SETFOCUS
end sub