投稿時間: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にして加えたら、 うまく処理できました。
初心者だからこそ、質問の仕方には気をつけないとですよね。もっと勉強して 精進しますので、今後ともよろしくお願いします。
|