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

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

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

微信交流群(請(qǐng)用微信掃碼)

        

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

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

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

windows內(nèi)置瞭顔色對(duì)話框,如果能直接調(diào)用就可方便使用。畢竟寫箇全顔色的對(duì)話框是非常睏難的。



在模塊瞭添加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

    '顯示顔色對(duì)話框
    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
    移動(dòng)訪問