|
はじめて投稿させていただきます。よろしくお願い致します。
題名:フォームを新規作成し、フォーム詳細のOnMouseDownにイベントプロシージャを入れてXYを取得したい
【やりたい事】
1)フォームを作る : Set ctl_frm = CreateForm()
2)ラベルを作る : CreateControl("test", acLabel, acDetail, , , 100 , 100, 100, 100)
3)新規フォームの詳細で、マウスボタンを押した場所に、ラベルを移動する
ctl_frm.Section(acDetail).OnMouseDown = "= Detail_MouseDown(Button,Shift,X,Y)"
1)2)は動作するのですが、3)が動きません。
◆標準モジュール
1)3)
Sub make_Form()
Dim ctl_frm As Form
Set ctl_frm = CreateForm()
With ctl_frm
.Caption = "test"
.Width = 11907 '[twip]
.Section(acDetail).Height = 8505
(省略)
.Section(acDetail).OnMouseDown = "= Detail_MouseDown(Button,Shift,X,Y)"
↑3)【上手に動かした】
End With
DoCmd.Save , ctl_frm.Caption
DoCmd.OpenForm ctl_frm.Name, acNormal
DoCmd.Restore
End Sub
-------------------------------------------------------------------
2)
Sub make_Label()
Dim ctl_Label As Label
Dim i, L_max As Integer
DoCmd.OpenForm "test", acDesign
L_max = 1
For i = 0 To L_max
Set ctl_Label = CreateControl("test", acLabel, acDetail, , , 100 + 200 * i, 100, 100, 100)
ctl_Label.Name = "L" & Format(i, "000")
With ctl_Label
.SpecialEffect = 1
.BackStyle = 1
(省略)
.OnClick = "= Label_onClick()"
.OnMouseDown = "= Label_OnMouseDown()"
.OnMouseUp = "= Label_OnMouseUp()"
End With
Next
DoCmd.Save , ctl_frm.Caption
DoCmd.OpenForm ctl_frm.Name, acNormal
DoCmd.Restore
End Sub
-------------------------------------------------------------------
|
|