お世話になります。 また初歩的な質問させていただきます。
ボタンをクリックした時にフォーカスがそのボタンに移動するのを
抑止したいのですが、方法が解らず取り合えず代替的な処置をしました。
Private Sub Form_Load()
Command1.TabStop = False
End Sub
Private Sub Command1_Click()
Command2.SetFocus
End Sub
(説:Command1ボタンがクリックされた場合フォーカスを違うコントロール
に移動させることによりCommand1ボタンにフォーカスが移動するの
を防止)
お手数ではございますがどうか宜しくお願いします。
Focusをもたないコントロールで代用してはいかがでしょう?
Focusをもたないコントロールで代用ということでいろいろ試して
みたのですが、処理はともかくデザイン的にボタンコントロール
に近いものが見つけられませんでした。
この場合どのコントロールを使用すれば良いのでしょうか。
>デザイン的にボタンコントロール
>に近いものが見つけられませんでした。
意味がよくわかりません。
ボタンの絵を用意して貼り付けるだけだと思いますが・・・。
説明の仕方が悪くて大変申し訳ありません。
まだ勉強し始めたばかりで、今回の説明でも的をえてないかもしれません
が追記説明させて頂きます。
デザイン的の意図は、Pictureプロパティに絵を挿入ではなく
ボタンコントロールのように、Formに対して立体的に凸と表現させたい
というこでございます。
ようするにPictureコントロールを用意して、
マウスダウン時、アップ時に画像を変えてやればいいということです
ところで、これも代替的なものになりますが
Command1.TabStop = False
Private Sub Command1_Click()
Command1.Enabled=False
Command1.Enabled=True
End Sub
という手もありますね。
フォーカスをもてるものがこのボタンしかないと解決になりませんけど、
フォーカスが逃げる先をいちいち指定しなくて良いという利点はあります
早速のご意見ありがとうございます。
Loreley様の代替処理を試してみましたが、この場合ですとフォーカス自体が
フォーム上から無くなってしまいますので自分の意図としているものと差異
がございました。
ボタンが押されてもフォーカスが移動しないフリーソフトを見たことがあり
ますので、
(Command2にフォーカスが有る状態でCommand1をクリックしてもフォーカス
がCommand2のままでフォーカスのチラツキ(移動した形跡)も無し)
もしかしたらform_loadでなにか処理があるのかと推測したのですが…
または、ご指摘のようにpictureを使用しているのかもしれません。
もう少し検証してみます
うーん、
イマイチ理想像が見えないんですが、
私の代替処理で、ボタンを二つ以上おいて、
Command1だけは
TabStop=True
と
クリックイベント時に
Command1.Enabled=False
Command1.Enabled=True
をしなければできると思うんですけど
(ついでにDefault=Trueにしておけば起動時も安心です)
>(Command2にフォーカスが有る状態でCommand1をクリックしてもフォーカス
> がCommand2のままでフォーカスのチラツキ(移動した形跡)も無し)
ちなみにマウスをクリックしたままの状態でも
破線が出てこないようであれば、おそらくボタンじゃなくて画像でしょう
それから、
>この場合ですとフォーカス自体が
>フォーム上から無くなってしまいますので自分の意図としているものと差異がございました。
とのことですが、それはフォーム自体にフォーカスされている状態です。
ご指摘のようにボタンではなく画像なのかもしれません。
キーワード検索でValidate イベントというものがあったのですが
これは全く関係ないのでしょうか?
>キーワード検索でValidate イベントというものがあったのですが
ヘルプを見ましょう。
ボタンとデータベースは関係ないと思います。
ツイート | ![]() |