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

投稿時間:2005/10/20(Thu) 17:53
投稿者名:チャッポ
URL :
タイトル:
FlexGridからフォーカスを移すと…
MSFlexGridのあるセルの上でF10キーを押すとコマンドボタンにフォーカスを移そうとしています。
フォーカスは移るのですがそのそのコマンドボタンをリターンキーで押すとコマンドを押したときの
処理が働
きません。それも一度目はその画面の閉じるやサイズ変更が出てきて何かキーを押すとリターンキー
がきくよ
うになるのです。うまく説明が出来ないのですがどなたかお答えお待ちしてます。

投稿時間:2005/10/20(Thu) 18:14
投稿者名:いな
Eメール:
URL :http://,
タイトル:
Re: FlexGridからフォーカスを移すと…
> MSFlexGridのあるセルの上でF10キーを押すとコマンドボタンにフォーカスを移そうとしています。

この説明ですと、その他のときには、
F10キーを押してもコマンドボタンにフォーカスは移さないでいいのですよね?

もし、どんなときも〜、だったら簡単なんだけれども

投稿時間:2005/10/20(Thu) 18:30
投稿者名:チャッポ
URL :
タイトル:
Re^2: FlexGridからフォーカスを移すと…
お答えありがとうございます。
どのセルの上でもいいのでF10キーを押すとフォーカスが移ってほしいのです。その他の場合は移らなく
でもいい
んですが。。。

投稿時間:2005/12/02(Fri) 17:31
投稿者名:Muu
Eメール:
URL :
タイトル:
Re^3: FlexGridからフォーカスを移すと…
> お答えありがとうございます。
> どのセルの上でもいいのでF10キーを押すとフォーカスが移ってほしいのです。その他の場合は移
らな

> でもいい
> んですが。。。

以下の方法ではいかがでしょうか?
処理内容
フレキシブルグリットでF10を押すと、コマンドボタンにフォーカスが移ります。
そこで、Enterキーを押すと、フォームに成功と文字が表示されます。

Private Sub Command1_Click()
    Print "成功"
    ' フォームのユーザ操作を認識するように戻す。戻さないと、フォーム上の操作が出来なくなりま
す。
    Form1.Enabled = True
End Sub

Private Sub Command1_GotFocus()
    ' コマンドボタンにフォーカスが移った時、フォームのユーザ操作を認識しないようにする。
    Form1.Enabled = False
End Sub

Private Sub Form_Load()
    ' コマンドボタンにデフォルトを設定。
    'これで、Enterキーを認識します。
    Command1.Default = True
End Sub

Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF10 Then
        Command1.SetFocus
    End If
End Sub

投稿時間:2005/12/03(Sat) 00:18
投稿者名:パーミヤン
Eメール:
URL :
タイトル:
Re: FlexGridからフォーカスを移すと…
> MSFlexGridのあるセルの上でF10キーを押すとコマンドボタンにフォーカスを移そうとしています。
> フォーカスは移るのですがそのそのコマンドボタンをリターンキーで押すとコマンドを押したとき

> 処理が働
> きません。それも一度目はその画面の閉じるやサイズ変更が出てきて何かキーを押すとリターンキ

> がきくよ
> うになるのです。うまく説明が出来ないのですがどなたかお答えお待ちしてます。

それはWindowsの仕様です。
おそらくチャッポさんが作成してるFormはメニューが無いFormなんでしょう。
今、この掲示板を見ている状態で、F10キーを押してみてください。
よーく気をつけて見てください。
それが、そうなってしまう理由です。