Office中国论坛/Access中国论坛

标题: [求助]如何用通用模块改变窗体中所有文本框组合框的背景色? [打印本页]

作者: aone    时间: 2006-1-23 19:50
标题: [求助]如何用通用模块改变窗体中所有文本框组合框的背景色?
经常要用到改变窗体上所有未锁定的文本框、组合框的背景色,不可编辑时为灰色,可编辑时为淡蓝色。请教如何实现在通用模块中分别编写改为灰色及改为淡蓝色的代码,然后在当前窗体中调用?谢谢!
作者: aone    时间: 2006-1-24 03:16
自己顶一下!请朋友们指点!
作者: fan0217    时间: 2006-1-24 03:54
给你个Access帮助里面示例:

示例

以下示例检查窗体上所有控件的 ControlType 属性。对所有标签和文本框控件,该过程切换其“SpecialEffect”属性。当标签的“特殊效果”属性设置为“凹陷”,且文本框的“特殊效果”属性设置为“普通”,AllowAdditionsAllowDeletionsAllowEdits 属性均设置为 True,则
  1. intCanEdit
复制代码
变量将切换为允许编辑基础数据。
  1. Sub ToggleControl(frm As Form)
        Dim ctl As Control
        Dim intI As Integer, intCanEdit As Integer
        Const conTransparent = 0
        Const conWhite = 16777215
        For Each ctl in frm.Controls
            With ctl
                Select Case .[b]ControlType[/b]
                    Case acLabel
                        If .SpecialEffect = acEffectShadow Then
                            .SpecialEffect = acEffectNormal
                            .BorderStyle = conTransparent
                            intCanEdit = True
                        Else
                            .SpecialEffect = acEffectShadow
                            intCanEdit = False
                        End If
                    Case acTextBox
                        If .SpecialEffect = acEffectNormal Then
                            .SpecialEffect = acEffectSunken
                            .BackColor = conWhite
                        Else
                            .SpecialEffect = acEffectNormal
                            .BackColor = frm.Detail.BackColor
                        End If
                End Select
            End With
        Next ctl
        If intCanEdit = IFalse Then
            With frm
                .AllowAdditions = False
                .AllowDeletions = False
                .AllowEdits = False
            End With
        Else
            With frm
                .AllowAdditions = True
                .AllowDeletions = True
                .AllowEdits = True
            End With
        End If
    End Sub
复制代码

[此贴子已经被作者于2006-1-23 19:53:56编辑过]


作者: aone    时间: 2006-1-24 06:24
把这段代码写在通用模块内,在窗体中应如何引用呢?我试了几次都不行。能否请版主讲详细点呢?汗......
作者: fan0217    时间: 2006-1-24 21:46
把你的代码写成函数,然后在你需要的地方调用就可以了。
作者: aone    时间: 2006-1-25 06:24
谢谢!这就去试试!
作者: chenlugen    时间: 2008-8-21 19:46
这个函数怎么写,能帮忙写一个吗???[:30] [:31]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3