office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

Access用API調(diào)用Windows內(nèi)置的顏色對話框

2020-10-17 08:00:00
tmtony8
原創(chuàng)
2636

在應(yīng)用程序中, 我們有時需要對圖片或者文字顏色進(jìn)行選擇設(shè)置。

windows內(nèi)置了顏色對話框,如果能直接調(diào)用就可方便使用。畢竟寫個全顏色的對話框是非常困難的。



在模塊了添加API代碼


Public Type CHOOSECOLOR
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    rgbResult As Long
    lpCustColors As String
    flags As Long
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Public Declare Function CHOOSECOLOR Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long




窗體中調(diào)用代碼:

Private Sub Command3_Click()
    Dim NewColor As Long
    NewColor = ShowColor
    If NewColor = -1 Then Exit Sub
       Text1.ForeColor = NewColor
End Sub

Private Function ShowColor() As Long
    Dim cc As CHOOSECOLOR
    Dim Custcolor(16) As Long
    Dim lReturn As Long
    Dim CustomColors() As Byte

    '設(shè)置結(jié)構(gòu)大小
    cc.lStructSize = Len(cc)
    '設(shè)置窗口句柄
    cc.hwndOwner = Me.Hwnd
    '設(shè)置應(yīng)用程序例程
    cc.hInstance = CurrentProject.Application.hWndAccessApp
    '設(shè)置默認(rèn)顏色
    cc.lpCustColors = StrConv(CustomColors, vbUnicode)
    '不設(shè)定標(biāo)志
    cc.flags = 0

    '顯示顏色對話框
    If CHOOSECOLOR(cc) <> 0 Then
        ShowColor = cc.rgbResult
        CustomColors = StrConv(cc.lpCustColors, vbFromUnicode)
    Else
        ShowColor = -1
    End If
End Function

    分享
    文章分類
    聯(lián)系我們
    聯(lián)系人: 王先生
    Email: 18449932@qq.com
    QQ: 18449932
    微博: officecn01
    移動訪問