[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/05/11(Wed) 14:29
投稿者名:Five
Eメール:
URL :
タイトル:
ラベルにフォーカス移動、その他・・・
こんにちは。
いつもお世話になっております。

早速質問です。

フォームにラベルがいくつかあり、
そのラベルにフォーカスを当てたいのです。

何故このような事をしているかと言いますと、
最初はテキストボックスにしていて
フォームを開くとそのテキストボックスにデータがセットされます。
そのテキストボックスをダブルクリックすると
そのデータを元に別のフォームを開く、という事を考えていました。
しかし、カーソルが表示されてしまうので(Locked=Trueでも)
Enabled=Trueにしたら文字が灰色になり、フォーカスも移動しない事から
だったらラベルの方がいいのではないか、と思い今に至ります。

何か良い方法がありましたら、是非ご教授ください。
宜しくお願い致します。

投稿時間:2005/05/11(Wed) 14:42
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: ラベルにフォーカス移動、その他・・・
回答ではありません。

前回の質問はどうなったのでしょうか?
返信やお礼の出来ない方、マルチポストは、お断りします と掲示板の上部や書き込みの
ところにも書いてあると思うのですが。

今一度、初めにお読み下さい を読んで了解が頂けるならご利用下さい。

投稿時間:2005/05/11(Wed) 14:51
投稿者名:Five
Eメール:
URL :
タイトル:
花ちゃん様、大変申し訳ございませんでした。
ご迷惑をおかけして大変申し訳ございませんでした。
連休に入ってしまったので、すっかり忘れてしまいました。
指摘されなかったら、ご教授してくださった方にお礼を言えないところでした。
今後は気をつけるように致します。

投稿時間:2005/05/11(Wed) 18:19
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: ラベルにフォーカス移動
>そのラベルにフォーカスを当てたいのです。
hhttp://www.bcap.co.jp/hanafusa/hazimeni.htm#no3 ここにも書いていたかと思うのですが
フォーカスを当てたい という事は解るのですが、フォーカスを当てその後何をしたいので
しょうか?(フォーカスを当てないとできない事なのですか)

こういった場合、手段だけを書くのではなく、目的や必要条件等も書いて頂けると、代替案も
でるのですが?
(例えば、そのラベルのバックカラーを変更するとか Etc)


5/12 8:27 追加
hhttp://www.bcap.co.jp/hanafusa/hazimeni.htm#no3  この辺をよく読んで投稿して
頂いていたら、多くの方に迷惑を掛けずに、もう少し的確な Q & A になっていたかと思います。

投稿時間:2005/05/11(Wed) 18:44
投稿者名:いな
Eメール:
URL :
タイトル:
(削除)
(誤爆投稿で、混乱の元となるため、削除)

投稿時間:2005/05/12(Thu) 10:36
投稿者名:Five
Eメール:
URL :
タイトル:
Re^2: ラベルにフォーカス移動
回答ありがとうございます。

説明が不足していたようで申し訳ございません。
目的を説明致します。

フォームにFlexGridとテキストボックスがあり

フォームを開くとそのコントロールに
データが入るようになっています。
(Access2000とADOで接続、レコードセットでデータを取得)

FlexGridのセルやテキストボックスをクリックしたら
(フォーカス取得したら。Tab移動もあります。)背景色を変更し
(どこが選択されているのかわかりやすくする為)、
ダブルクリックしたら別のフォームを表示します。

FlexGridは特に問題ないのですが、
テキストボックスだと移動した時のキャレットや
ダブルクリックすると文字が選択されるのが気になります。
その為、ラベルにしようかとも考えていたのですが、
何か良い方法はありますでしょうか?

投稿時間:2005/05/11(Wed) 18:22
投稿者名:いな
Eメール:
URL :
タイトル:
Re: ラベルにフォーカス移動、その他・・・
> だったらラベルの方がいいのではないか、と思い今に至ります。

ラベルというのも一つの解決方法
ダブルクリックイベントは、
フォーカスが当たってから、ダブルクリックなので、、、

普通のクリックイベントに書く。。。なんて安直な方法はだめかぁ〜。

投稿時間:2005/05/11(Wed) 18:39
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^2: ラベルにフォーカス移動、その他・・・
ダブルクリックがしたいという事だったのですかね、それなら逆引きヘルプに。

ダブルクリックイベントの無いコントロールでダブルクリックを取得する 
hhttp://www.bcap.co.jp/hanafusa/VBHLP/cdwclick.htm

投稿時間:2005/05/11(Wed) 18:52
投稿者名:いな
Eメール:
URL :
タイトル:
誤爆でした。
質問のよみちがえだぁ〜、紛らわしくて申し訳ないです。

Wクリックしたときに、カーソルが表示されてしまうのが嫌だ!

じゃないのかなぁ〜。それならば
花ちゃん さん の
hhttp://www.bcap.co.jp/hanafusa/vbbbs/wforum.cgi?no=3152&reno=3135&oya=3131&mode=msgview

ですね。
その後何をしたいのでしょうか?がキーになると思います。

投稿時間:2005/05/12(Thu) 10:40
投稿者名:Five
Eメール:
URL :
タイトル:
Re: 誤爆でした。
いな様、花ちゃん様、回答ありがとうございます。

Re^2: ラベルにフォーカス移動 で何をしたいのかを説明しましたので
そちらをご覧ください。

宜しくお願い致します。

投稿時間:2005/05/11(Wed) 22:47
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re: ラベルにフォーカス移動、その他・・・
> 最初はテキストボックスにしていて
> フォームを開くとそのテキストボックスにデータがセットされます。
> そのテキストボックスをダブルクリックすると
> そのデータを元に別のフォームを開く、という事を考えていました。
> しかし、カーソルが表示されてしまうので(Locked=Trueでも)
> Enabled=Trueにしたら文字が灰色になり、フォーカスも移動しない事から
> だったらラベルの方がいいのではないか、と思い今に至ります。

 テキストボックスは、キャレットが表示されると見た目がよくないからですか?

 ラベルでフォーカスを当てる必要があるのは、キーボード操作を想定している
からでしょうか?

 上記の対応が必須であれば、ピクチャーボックスにPrintメソッドで文字を
書くのが一番簡単なのではないでしょうか?

投稿時間:2005/05/12(Thu) 10:44
投稿者名:Five
Eメール:
URL :
タイトル:
Re^2: ラベルにフォーカス移動、その他・・・
Starfish様、回答ありがとうございます。

>  テキストボックスは、キャレットが表示されると見た目がよくないからですか?
はい。その通りです。

>  ラベルでフォーカスを当てる必要があるのは、キーボード操作を想定している
> からでしょうか?
はい。Tab移動をした時等です。

>  上記の対応が必須であれば、ピクチャーボックスにPrintメソッドで文字を
> 書くのが一番簡単なのではないでしょうか?
挑戦してみます。

Re^2: ラベルにフォーカス移動
に説明がありますので、宜しければそちらもご覧ください。

よろしくお願い致します。

投稿時間:2005/05/12(Thu) 11:08
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
キャレットの非表示・他
> テキストボックスだと移動した時のキャレットや
> ダブルクリックすると文字が選択されるのが気になります。

API 関数の HideCaret を使用すればキャレットは非表示になります。
(必要により条件分岐やフラグを設定して)
Private Sub Text1_GotFocus()
    Dim Ret As Long
    Ret = HideCaret(Text1.hwnd)
End Sub

ダブルクリック時の選択状態も同様に解決できるのでは。
(必要により条件分岐やフラグを設定して)
Private Sub Text1_DblClick()
    Text1.SelStart = 0
End Sub

投稿時間:2005/05/13(Fri) 09:41
投稿者名:Five
Eメール:
URL :
タイトル:
ありがとうございました。
花ちゃん様の方法で無事完成させる事が出来ました!
ありがとうございました。