当控件Enabled属性为False时,控件的颜色统一变灰,能不能自定义颜色?

解决方案 »

  1.   

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    'Private Const CCM_FIRST = &H2000
    'Private Const CCM_SETBKCOLOR = (CCM_FIRST + 1)
    'Private Const TB_SETBKCOLOR = CCM_SETBKCOLOR
    Const TV_FIRST As Long = &H1100
    'Private Const TVM_SETBKCOLOR As Long = (TV_FIRST + 10)
    Private Const TVM_SETBKCOLOR As Long = (TV_FIRST + 29)'比如treeview,StatusBar
    Private Sub Form_Load()
        SendMessage TreeView1.hwnd, TVM_SETBKCOLOR, 0, ByVal RGB(128, 128, 255)
        SendMessage StatusBar1.hwnd, TB_SETBKCOLOR, 0, ByVal RGB(128, 128, 255)
    End Sub
      

  2.   

    //当控件Enabled属性为False时,控件的颜色统一变灰,能不能自定义颜色?能改,但不建议改//当控件Enabled属性为False时,控件的颜色统一变灰,能不能自定义颜色?代价比较低的方案是:
    设置按纽的style属性为1,Caption 属性为""预先做好两张图片(要包含文字),按纽的Enabled属性为true时显示一张(set command1.picture=loadpicture("c:\1.bmp")),按纽的Enabled属性为false时显示另一张(set command1.picture=loadpicture("c:\2.bmp"))