投稿日 | : 2007/01/22(Mon) 20:00 |
投稿者 | : 花ちゃん |
Eメール | : |
URL | : |
タイトル | : Re^3: テキストボックス入力確定文字の再変換 |
>同じでした、テキストボックスに あい とでで先頭でカーソルがピコピコしています
IME がOFFになっていませんか?(この辺でもたついていたら...。)
未変換の日本語を連続して入力しようとすると、CommandButton 等を使用すると
フォーカスが移動してしまい1文字しか入力できません。
従ってフォーカスが移動しない工夫が必要です。簡単な方法なら下記を試して
見て下さい。
Form にテキストボックス 1個 と ラベルを1個貼り付けて下さい。
Option Explicit
'----------------------------------------------------------
'この部分は下記より貼り付けて下さい。
' http://hanatyan.sakura.ne.jp/vbhlp/SendInput.htm
'----------------------------------------------------------
'下記の部分は新たに追加本格的にはコントロール配列で
Private Sub Form_Load()
With Label1
.Move 1500, 1440, 735, 616
.Appearance = 0
.BorderStyle = 1
.BackColor = &H8000000F
.Caption = " あ"
.FontName = "MS Pゴシック"
.FontSize = 24
End With
'別途カナ入力に設定しておいて下さい。
'(実使用上はキー操作から実施するように設定)
Text1.IMEMode = 1
End Sub
Private Sub Label1_Click()
Text1.IMEMode = 1
Call mySendKeys(vbKey3, Text1)
'後は使用するキーに合わせて上記のキーコード定数を変更して下さい。
End Sub
Private Sub Label1_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Label1.BackColor = &H8000000B
Label1.Refresh
End Sub
Private Sub Label1_MouseUp(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Label1.BackColor = &H8000000F
End Sub
Private Sub mySendKeys(ByVal myKey As Long, ByVal myControl As Control)
Dim wVkKey() As Long
Dim UpDown() As Long
myControl.SetFocus
' StopTime 100
ReDim wVkKey(1) As Long
ReDim UpDown(1) As Long
wVkKey(0) = myKey: UpDown(0) = 0
wVkKey(1) = myKey: UpDown(1) = 1
sKeyEventSet 1, wVkKey, UpDown
End Sub
'----------------------------------------------------------
Private Sub sKeyEventSet(nInput As Long, _
wVkKey() As Long, UpDown() As Long)
'この部分は下記より貼り付けて下さい。
' http://hanatyan.sakura.ne.jp/vbhlp/SendInput.htm
End Sub
'----------------------------------------------------------