
何時もお世話になっています。
複数のTextBoxとButtonがあります。
Buttonを押した時に直前までフォーカスのあったTextBoxにButtonに割り当てていた文字が入る様にしたいのですがどの様にしたら良いでしょうか?
各ButtonにMouseMoveイベントを設定し、カーソルがButton上に来るとActiveControlでフォーカスのあるTextBoxで取得・・・まで考えたのですが、この後TextBoxにButtonに割り当てた文字の入力が出来ないのです。
アドバイス、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
開発環境なんでしょうか?
ちなみにVBを前提に回答させていただきます
(1)モジュールレベルでのグローバル変数(contorol)を定義
private cntTextbox as Control '←これのこと
sub XX
…
end sub
(2)各々のtextboxのフォーカスが外れる(Exitイベント)で(1)で宣言した変数にセットする
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
set cntTextbox=ActiveControl
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
set cntTextbox=ActiveControl
End Sub
(3)各々のbuttonクリック時(Clickイベント)で割り当てた文字を入れる
Private Sub Button1_Click()
cntTextbox.value="ボタン1"
End SubPrivate Sub Button2_Click()
cntTextbox.value="ボタン2"
End Sub
私が良く使うロジックです。
もっと良い方法があるかもしれませんが…
No.2
- 回答日時:
それぞれのテキストボックスにカーソルが移動すると対応する図をフォームの一部に表示する手法を応用できそうです。
Option Explicit
Public CurrentCtl As Control
Private Sub Command1_Click()
CurrentCtl.SetFocus
SendKeys "^({Left})^(+({Right})){DELETE}", False
SendKeys Me.Command1.Caption, False
End Sub
Private Sub Timer1_Timer()
On Error Resume Next
If TypeOf ActiveControl Is TextBox Then
If CurrentCtl.Name <> ActiveControl.Name Then
Set CurrentCtl = ActiveControl
End If
End If
End Sub
0.01秒等の適当な間隔で CurrentCtl を更新します。
後はボタンが押されたらフォーカスを移動します。
書き換えには、SendKeys を利用します。
サンプルでは、消してから書いています。
*実用的には問題ないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
油性マジックで書いたサインを...
-
矢印(左右)キーでイベントを...
-
どこにもフォーカスを当てたくない
-
ユーザーフォームのSetFocusが...
-
至急回答お願いします。 間違え...
-
Accessの更新後処理で特定の条...
-
C# ReadOnlyのTextBoxで
-
メロディーについて。意見を聞...
-
VB.NET ボタン押下で一つ前の...
-
業務に差し支えのないテンキー...
-
リコーダーのドがかすれてでま...
-
テキストボックス入力後、警告...
-
コマンドボタンのEnterイベント...
-
85年に開催された神戸グリー...
-
ドラゴンボールZ3
-
GridViewでハイライトを使用し...
-
PCの電源をいれIEをクリッ...
-
【至急】フォトショップの「自...
-
Outlookでメッセージの編集がで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
どこにもフォーカスを当てたくない
-
C# ReadOnlyのTextBoxで
-
ユーザーフォームのSetFocusが...
-
エクセルVBA テキストボックス...
-
業務に差し支えのないテンキー...
-
矢印(左右)キーでイベントを...
-
MFCでコンボボックスを選択不可...
-
油性マジックで書いたサインを...
-
Private Sub内でSubをCallしたい
-
テキストボックス入力後、警告...
-
プログラムからTera Termに文字...
-
コマンドボタンのEnterイベント...
-
GridViewでハイライトを使用し...
-
VB.NET ボタン押下で一つ前の...
-
F503iにSVって表示されてるんで...
-
Accessの更新後処理で特定の条...
-
酸素ボンベのレギュレーターか...
-
油性マジックの消し方
-
池袋サンシャイン通りでキャッ...
おすすめ情報