Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

窗体中用代码自动画线问题

小魏  发表于:2010-01-03 22:34:18  
复制

看到别人用EXCEL的用户窗体实现了鼠标画线,效果较好.

可以是我用同样的代码在ACCESS中调试却不能通过?压根就画不出线.

不知道为什么?是不是窗口句柄的取值不对?

 

我把EXCEL窗体中的全部代码一起贴出来.请高人指点:

 

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Type POINTAPI
        x As Long
        y As Long
End Type

Private Ihwnd As Long, Idc As Long, Ipo As POINTAPI
'====

Private Sub CommandButton1_Click()
 Dim pt As POINTAPI
 Ipo.x = 5
 Ipo.y = 10
 x = 500
 y = 500
    MoveToEx Idc, Ipo.x, Ipo.y, pt
    LineTo Idc, x * 4 / 3, y * 4 / 3
   
End Sub

Private Sub UserForm_Initialize()
Ihwnd = FindWindow(vbNullString, Me.Caption)
Debug.Print Ihwnd
Idc = GetDC(Ihwnd)
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
    Ipo.x = x * 4 / 3
    Ipo.y = y * 4 / 3
End Sub

Private Sub UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
    Dim pt As POINTAPI
    MoveToEx Idc, Ipo.x, Ipo.y, pt
    LineTo Idc, x * 4 / 3, y * 4 / 3
   
End Sub

点击下载此附件

 

Top
小魏 发表于:2010-01-04 18:57:08

请各位行家关注一下..................

 

 

如果这个问题能解决,那么,在窗体中就可以画线,同理,也可以画箭头了.

也就是说,我可以用现有的控件,结合代码,做出流程图模块.

用代码自动加载各个节点,自动画线和箭头.再充许用户用鼠标拖动控件和线,就可以实现最简单的流程图了.



小魏 发表于:2010-01-04 18:58:41
我现在用一个用户窗体即VBA里面所提供的窗体,就可以实现画线功能了,但是到AC系统所提供的窗体就不行了,不知何故,希望有高手能帮助看看哦?

小魏 发表于:2010-01-06 18:39:08

高手都不在家呀?



总记录:3篇  页次:1/1 9 1 :