タイトル | : Re^3: ラベルでイベントが起こらなくなる |
記事No | : 15314 |
投稿日 | : 2011/08/24(Wed) 19:54 |
投稿者 | : YK |
> この時に右クリックに反応するものとしないものがそんざいするわけです > ちなみに右クリック処理はポップアップの展開です
Forms2のLabelを使用するとそうなる可能性がありますね。
> ところでMicrosoft Forms2.0のラベルを指定する場合、書式はどうなりますか? Microsoft Forms2.0のラベルのサンプルですけど 前述したようにMouseDownイベントがバラバラに発生するみたいです。 標準のラベルを使用して時は正常に出来ています。 下記のMouseDownイベントと Private mBtn As String を標準のラベルの方にも貼り付けて 試して見て下さい・ Click Eventsを外してほうがいいかも
Option Explicit Private WithEvents frmLbl As MSForms.Label Private frmIndex As Long Private SubForm() As Form1 Private mBtn As String
Friend Sub Init(ByVal fLbl As Object) Set frmLbl = fLbl End Sub
Friend Sub fIndex(ByVal fIdx As Long) frmIndex = fIdx End Sub
Private Sub Form_Load() Dim i As Long Dim j As Long Dim cnt As Long Dim Lbl(159) As MSForms.Label For i = 1 To 20 For j = 1 To 8 cnt = ((i - 1) * 8) + (j - 1) Set Lbl(cnt) = Controls.Add("Forms.Label.1", "Label" & cnt) With Me .Height = 10875 .Left = 120 .Top = 0 .Width = 14055 End With With Lbl(cnt) ' .Appearance = 0 ' このプロパティ無し .BorderStyle = 1 .Left = (j - 1) * 1680 + 270 .Top = (i - 1) * 500 + 210 .Height = 375 .Width = 1605 .Visible = True End With ReDim Preserve SubForm(cnt) Set SubForm(cnt) = New Form1 SubForm(cnt).Init Lbl(cnt) SubForm(cnt).fIndex cnt Next Next End Sub
Private Sub frmLbl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Select Case Button Case 1 mBtn = "Left" Case 2 mBtn = "Right" Case 4 mBtn = "Middle" End Select MsgBox "Clicl No. = " & frmIndex & " & " & mBtn End Sub
|