Access交流中心

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

懇請哪位老師指點一下:

零落成泥  发表于:2009-05-17 11:06:22  
复制

我想用VBA得到一段代碼,目的是想在窗體的表單首或主體或是表單尾的鼠標移動事件達到在這個部分上的所有控件全部呈一種格式(顔色,字體,下畫線等),因為在這上面的控件在鼠標移動,按下,彈起時它們的字體都發生了變化.而在它所處的節的鼠標移動時呢要返回它原來的樣子.我現在是用的一種很笨的方法,就是在在這些控件所處的節的鼠標移動事件中一個一個的添加它的變化.希望哪位大師能不吝賜教.也不知道我說清楚沒有.                                                                           一個新手.

 

Top
豆豆 发表于:2009-05-17 21:21:07

建立一个模块

Public Sub frmMouseMove(ctlControl As Control)

 

    If ctlControl.ControlType = acCommandButton Then
        ctlControl.FontBold = True       '字体变为粗体
        ctlControl.ForeColor = vbRed  '字体颜色变为红色
        ctlControl.FontSize = 12    '字体比默认值(9)变大
    End If

 

End Sub
Public Sub DetailMouseMove(frm As Form)

 

    Dim ctlControl As Control
    For Each ctlControl In frm.Controls

        If ctlControl.ControlType = acCommandButton Then
            ctlControl.FontBold = False     '字体变为细体
            ctlControl.ForeColor = vbBlack  '字体颜色变为黑色
            ctlControl.FontSize = 9    '字体变为默认大小
        End If

    Next

 

End Sub


用法;

在主体的MouseMove事件

Private Sub 主体_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Call DetailMouseMove(Me)

End Sub

在命令按钮的MouseMove

Private Sub cmdShiftOK_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Call frmMouseMove(Me.cmdShiftOK)

End Sub



豆豆 发表于:2009-05-17 21:23:52

以上的代码意思是,鼠标移到命令按钮上是,命令按钮的字体变大,变红,粗体。

鼠标离开命令按钮后,命令按钮的字体复原。

 



零落成泥 发表于:2009-05-18 09:28:31
太感謝了,受益非淺呀.

零落成泥 发表于:2009-05-18 09:48:54
老師:我如果想讓標簽也能有這種效需要怎麽修改一下這兩函數,是在參數裏面多聲明一個標簽類型的參數嗎?謝謝!

豆豆 发表于:2009-05-18 17:33:42

If ctlControl.ControlType = acCommandButton or ctlControl.ControlType = acLabel Then

...


没有测试,自己测试下。



零落成泥 发表于:2009-05-19 11:02:41
謝謝您!

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