
何時もお世話になっています。
複数の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で質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- 英語 飛び出しナイフの説明文を和訳しています… 3 2022/10/19 17:09
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
どこにもフォーカスを当てたくない
-
テキストボックス入力後、警告...
-
ユーザーフォームのSetFocusが...
-
F503iにSVって表示されてるんで...
-
エクセルVBA テキストボックス...
-
矢印(左右)キーでイベントを...
-
コマンドボタンのEnterイベント...
-
C# ReadOnlyのTextBoxで
-
GridViewでハイライトを使用し...
-
Webデザイン:回る地球儀
-
アイソメトリックのイラストを...
-
酸素ボンベのレギュレーターか...
-
業務に差し支えのないテンキー...
-
Accessの更新後処理で特定の条...
-
VB.NET ボタン押下で一つ前の...
-
小学校で遊ぶてんかのルールに...
-
テキストボックスの入力チェッ...
-
VBAでのユーザーフォーム上...
-
中古本の店名ハンコの消し方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どこにもフォーカスを当てたくない
-
他の人には声だして挨拶してる...
-
C# ReadOnlyのTextBoxで
-
ユーザーフォームのSetFocusが...
-
矢印(左右)キーでイベントを...
-
業務に差し支えのないテンキー...
-
Private Sub内でSubをCallしたい
-
エクセルVBA テキストボックス...
-
GridViewでハイライトを使用し...
-
テキストボックス入力後、警告...
-
プログラムからTera Termに文字...
-
コマンドボタンのEnterイベント...
-
MFCでコンボボックスを選択不可...
-
VB.NET ボタン押下で一つ前の...
-
油性マジックで書いたサインを...
-
Accessの更新後処理で特定の条...
-
DateTimePicker のEnable
-
スプレットシートでフォーカス...
-
VC++2010のラジオボタンの選択...
-
油性マジックの消し方
おすすめ情報