- PR -

VB6のMSFlexGridについて

1
投稿者投稿内容
YUKO
会議室デビュー日: 2005/10/11
投稿数: 8
投稿日時: 2005-11-03 16:47
VB6の質問ですが、ここで良かったでしょうか?
違ってても、解かる方がいらっしゃれば教えてください。
MSFlexGridを使った二つのフォームを使い、MSFlexGridを持ったフォーム1から同じくMSFlexGridを持ったフォーム2を呼び出し、フォーム2のMSFlexGridのある行をダブルクリックするとその行のある項目がフォーム1のテキストボックスに表示される仕組みを作りました。
しかし、フォーム1にフォーム2が重なっている状態でフォーム2のMSFlexGridをダブルクリックすると
フォーム1のMSFlexGridの値がテキストボックスに入ってしまいます。
これを回避するにはどうすればよろしいでしょうか?

<実現方法>
・フォーム1にテキストボックス,コマンドボタン,MSFlexGridを用意してください。
・下のコードを貼り付けてください。

Private Sub Command1_Click()
Form2.Show vbModal
End Sub

Private Sub Form_Load()
With MSFlexGrid1
.Rows = 3
.FixedCols = 0
.FixedRows = 0
.Col = 0
.Row = 0
.Text = "AAAAA"
.Row = 1
.Text = "BBBBB"
.Row = 2
.Text = "CCCCC"
End With
End Sub

Private Sub MSFlexGrid1_Click()
With MSFlexGrid1
.Col = 0
Text1.Text = .Text
End With
End Sub

・フォーム2にMSFlexGridを用意してください。
・下のコードを貼り付けてください。

Private Sub Form_Load()
With MSFlexGrid1
.Rows = 3
.FixedCols = 0
.FixedRows = 0
.Col = 0
.Row = 0
.Text = "11111"
.Row = 1
.Text = "22222"
.Row = 2
.Text = "33333"
End With
End Sub

Private Sub MSFlexGrid1_DblClick()
With MSFlexGrid1
.Col = 0
Form1.Text1.Text = .Text
Unload Me
End With
End Sub
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-03 17:28
試したのですが、シングルクリックに置き換えれば問題なしでした。

ダブルクリック後に UnLoad されちゃうので、
そのクリックの余波が、すぐ下にある Form1 で反応してるんでしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
YUKO
会議室デビュー日: 2005/10/11
投稿数: 8
投稿日時: 2005-11-03 17:31
その余波は、回避できないんですか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-03 18:36
引用:

YUKOさんの書き込み (2005-11-03 17:31) より:

その余波は、回避できないんですか?

  • Form1 の MSFlexGrid を DblClick イベントに変える。
  • Form2 の MSFlexGrid を Click イベントに変える。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)