
何時もお世話になっています。
複数の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を探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
C# ReadOnlyのTextBoxで
-
Private Sub内でSubをCallしたい
-
業務に差し支えのないテンキー...
-
『エッジの効いた○○』の意味。
-
GridViewでハイライトを使用し...
-
三菱シーケンサで時計制御(時...
-
Verilog HDLで立下りと立ち上が...
-
池袋サンシャイン通りでキャッ...
-
VBでタッチパネルを・・・
-
ユーザーフォームのSetFocusが...
-
酸素ボンベのレギュレーターか...
-
矢印(左右)キーでイベントを...
-
二台のノートパソコンを繋げて...
-
迷惑メールの来ないアドレス
-
85年に開催された神戸グリー...
-
アクセス フォーカスの移動...
-
マイクラのマルチサーバーが起...
-
油性マジックで書いたサインを...
-
【至急】フォトショップの「自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
どこにもフォーカスを当てたくない
-
C# ReadOnlyのTextBoxで
-
ユーザーフォームのSetFocusが...
-
エクセルVBA テキストボックス...
-
業務に差し支えのないテンキー...
-
矢印(左右)キーでイベントを...
-
MFCでコンボボックスを選択不可...
-
油性マジックで書いたサインを...
-
Private Sub内でSubをCallしたい
-
テキストボックス入力後、警告...
-
プログラムからTera Termに文字...
-
コマンドボタンのEnterイベント...
-
GridViewでハイライトを使用し...
-
VB.NET ボタン押下で一つ前の...
-
F503iにSVって表示されてるんで...
-
Accessの更新後処理で特定の条...
-
酸素ボンベのレギュレーターか...
-
油性マジックの消し方
-
池袋サンシャイン通りでキャッ...
おすすめ情報