1/2
#include "windows.bi"
declare sub MAINFORM_START edecl ()
declare sub MAINFORM_SETFOCUS edecl ()
declare function MY_IME_KAISI& lib "imm32" alias "ImmGetContext"(byval HWND&)
declare function MY_IME_OWARI& lib "imm32" alias "ImmReleaseContext"(byval HWND&,byval HIMC&)
declare function MY_IME_SIRABE& lib "imm32" alias "ImmGetCompositionStringA"(byval HIMC&,byval INFOTYPE&,byval BUF$,byval BUFSIZE&)
#define GCS_COMPSTR &H8
BUF$=string$(100,0)
SETMAPMODE 1
'
var shared CNOMAX,CNO 'editコントロールノカズ CNO・・・ニュウリョクバンゴウ
CNOMAX=8 :CNO=0
var shared CWH&(8) 'ウィンドウハンドルチェックヨウ
var shared ECON$(8) 'コントロールノジュンバン
ECON$(1)="EDIT1"
ECON$(2)="EDIT2"
ECON$(3)="EDIT3"
ECON$(4)="EDIT4"
ECON$(5)="EDIT5"
ECON$(6)="EDIT6"
ECON$(7)="EDIT7"
ECON$(8)="EDIT8"
var shared EOBJ(8) as object 'コントロールノオブジェクト
for I=1 to CNOMAX
EOBJ(I).ATTACH GETDLGITEM(ECON$(I))
next I
CALLEVENT
do
gosub *KEYCHECK 'FC,CNOケッテイ
if FC<>-1 then
select case FC
case 0,1
CNO=CNO+1
if CNO>CNOMAX then CNO=1 'CNOMAX
case 12,100
CNO=CNO-1
if CNO<1 then CNO=1
end select
EOBJ(CNO).SETFOCUS
EOBJ(CNO).SETSELTEXT 0,0,0 'カーソル位置を先頭に
'EOBJ(CNO).SETSELTEXT 0,-1,0 'むしろ全て選択にするとか…
IF XKEY=0 THEN XKEY=1
IF GETASYNCKEYSTATE(xkey)=(-1) THEN SETACTIVEWINDOW
endif
if CHECKEVENT=TRUE then CALLEVENT
loop
end