タイトル : ポップアップメニューについての質問です。 投稿日 : 2008/03/20(Thu) 19:22 投稿者 : tea
フォームにコマンドボタンを2つ(A&B)配置して、ボタンをクリックするとそれぞれ ポップアップメニューが出現し、その中の1つを選択するというようにプログラミ ングしています。 現状ではA&Bどちらのボタンをクリックして、ポップアップメニューの中からどれかを 選択しても「A」と判断されて記録されてしまいます。 Private Sub Fighting(ByVal TeamIndex As Integer) では、 TeamIndexで0ならA、1ならBと判断できていますが、 Private Sub mnuFoulF_Click(Index As Integer) 上ではTeamIndexが判断できなくなっていること自体は理解できたんですが、 'TeamIndexを判断させるにはどうしたらいいのかわかりません。 どうか教えてください。 よろしくお願いします。 フォーム 'ファイティングファウル「F」コマンドボタンをクリックした場合 Private Sub CmdFFoul_Click(Index As Integer) On Error GoTo ErrHandle 'Aチームの場合 If Index = 0 Then Call Fighting(0) 'Bチームの場合 ElseIf Index = 1 Then Call Fighting(1) End If 'ポップアップメニューの表示 PopupMenu mnuFoulFTitle 'このプロシージャから抜けます。' Exit Sub 'エラー処理ルーチン' ErrHandle: CommanErrMsg Exit Sub End Sub 'ファイティング「F」ファウル Private Sub Fighting(ByVal TeamIndex As Integer) Dim i As Integer Dim m As Integer Dim sUN As String '繰り返し処理:1名から最大人数(18名)' For i = 1 To bbPlayerMax 'sUNに代入' sUN = Game.Team(TeamIndex).Player(i).UniformNumberString 'メニューインデックスの「1」の後にチームメンバー全員の背番号 '&選手名を表示させる With mnuFoulF(1 + i) .Caption = "背番号" & sUN .Visible = Game.Team(TeamIndex).Player(i).IsRegisted End With Next End Sub '(ファイティング)mnuFoulFポップアップメニュー内の該当プレイヤーをクリック 'した場合、ここでの(index)は選択した選手の番号となるので2から Private Sub mnuFoulF_Click(Index As Integer) Dim i As Integer 'もし、0の場合は抜ける。' If Index = 0 Then Exit Sub '該当するプレイヤーの「F」ファウルをジャーナルに記載 Call Game.Team(i).FFoulPlayerOnJournal(Index) End Sub Private Sub Form_Load() For i = 1 To bbPlayerMax Load mnuFoulF(1 + i) Next End Sub |