Commondialog1.showcolor
label1.BackColor = CommonDialog1.Color
Private Declare Function CHOOSECOLOR Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
Private Type CHOOSECOLOR
lStructSize As Long
hwndOwner As Long
hInstance As Long
rgbResult As Long
lpCustColors As String
flags As Long
CustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Function ShowColor() As Long
Dim cc As CHOOSECOLOR
Dim Custcolor(16) As Long
Dim lReturn As Long
cc.lStructSize = Len(cc)
cc.hwndOwner = Me.hwnd
cc.hInstance = App.hInstance
cc.lpCustColors = StrConv(CustomColors, vbUnicode)
cc.flags = 0
If CHOOSECOLOR(cc) <> 0 Then
ShowColor = cc.rgbResult
CustomColors = StrConv(cc.lpCustColors, vbFromUnicode)
Else
ShowColor = -1
End If
End Function
Sub Form_Load()
Dim NC&
NC = ShowColor
If NC = -1 Then MsgBox "Отмена" Else MsgBox NC
End Sub
cashman писал(а):Как вызвать стандартную форму для выбора цвета?..
Александр80 писал(а):cashman писал(а):Как вызвать стандартную форму для выбора цвета?..
Мне кажется лучше через Commondialog1.showcolor
A.A.Z. - API дело хорошее, но Commondialog1 ничем не хуже...
A.A.Z. писал(а):2) Пробовал, пробовалНе совсем уж тупой
A.A.Z. писал(а):1) Приходится таскать за собой контрол
Сейчас этот форум просматривают: Yandex-бот и гости: 9