投稿日 | : 2004/03/05(Fri) 22:34 |
投稿者 | : しゅう |
URL | : |
タイトル | : Re: MSHFlexGridのdblclickイベント を感知する |
nobuさん、花ちゃんありがとうございました。
> うまく表示されない、実際のコードをコピーペで投稿しないと解決を
> 遅らせるだけですよ。
> nobu さんのコードで問題ないはずですよ。
> 何か余計な処理していませんか?
ありがとうございます。今後は、そのようにします。アドバイスありがとうございました。
ちなみに、実際のコードは、
Private Sub fg伝票_dblClick()
With fg伝票
If fg伝票.Rows = 1 Then
a = MsgBox("編集できるデータがありません", , "データなし")
Exit Sub
End If
If .TextMatrix(.Row, 1) = 1 Then
Form伝票.opt支出.Value = True
Form伝票.txt金額.Text = Format$(.TextMatrix(.Row, 5), "#############")
Form伝票.cmb科目.Text = .TextMatrix(.Row, 2)
Form伝票.cmb口座.Text = .TextMatrix(.Row, 3)
Form伝票.txt相手.Text = .TextMatrix(.Row, 6)
Form伝票.txt内容.Text = .TextMatrix(.Row, 7)
End If
If .TextMatrix(.Row, 1) = 2 Then
Form伝票.opt収入.Value = True
Form伝票.txt金額.Text = Format$(.TextMatrix(.Row, 4), "#############")
Form伝票.cmb科目.Text = .TextMatrix(.Row, 2)
Form伝票.cmb口座.Text = .TextMatrix(.Row, 3)
Form伝票.txt相手.Text = .TextMatrix(.Row, 6)
Form伝票.txt内容.Text = .TextMatrix(.Row, 7)
End If
If .TextMatrix(.Row, 1) = 3 Then
Form伝票.opt振替.Value = True
Form伝票.txt金額.Text = Format$(.TextMatrix(.Row, 4), "#############")
Form伝票.cmb科目.Text = .TextMatrix(.Row, 2)
Form伝票.cmb口座.Text = .TextMatrix(.Row, 3)
Form伝票.txt相手.Text = .TextMatrix(.Row, 6)
Form伝票.txt内容.Text = .TextMatrix(.Row, 7)
End If
Form伝票.Show vbModal
End With
End Sub
・・・このようにしてました。
この際、txt相手にだけ、表示がされませんでした。前にも書きましたが、clickイベントや、コマンド
ボタンclickでは、表示されました。
> MSFlexGrid1_Click イベントでなにか処理していませんか?
> Click イベント が発生してからダブルクリックイベントが発生することに
> 注意して下さい。
>
> 下記の部分を追加して見て下さい。
>
> Option Explicit
> Private Declare Function GetDoubleClickTime Lib "user32" () As Long
> Private Declare Function timeGetTime Lib "winmm.dll" () As Long
> Private Sub MSHFlexGrid1_Click()
> 'ダブルクリックを感知する
> Dim st As Long
> 'マウスのダブルクリックの間隔を考慮(0.18〜0.9)
> st = timeGetTime + GetDoubleClickTime
> 'APIを使用しないなら0.18〜0.9秒の範囲で待機して下さい。
> Do While timeGetTime < st
> 'timeGetTimeがリセットされた場合
> If st - timeGetTime > 2000 Then st = 0
> DoEvents
> Loop
>
>
> '以下に MSHFlexGrid1_Click イベントの処理
>
>
>
> End Sub
上記コードでPrivate Sub MSHFlexGrid1_Click()をdblClickにして加えたら、
うまく処理できました。
初心者だからこそ、質問の仕方には気をつけないとですよね。もっと勉強して
精進しますので、今後ともよろしくお願いします。