Color Dialog

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
Đăng trả lời
Hình đại diện của thành viên
truongphu
VIP
VIP
Bài viết: 4785
Ngày tham gia: Chủ nhật 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 530 times

Color Dialog

Gửi bài by truongphu »

Thủ thuật: Color Dialog
Tác giả: Bryan Stafford
Mô tả: Hộp thoại chọn màu
Cần Command1

Mã: Chọn tất cả

Option Explicit  ' demo project showing how to use the ChooseColor API function  ' by Bryan Stafford of New Vision Software® - newvision@mvps.org  ' this demo is released into the public domain "as is" without  ' warranty or guaranty of any kind.  In other words, use at  ' your own risk.   Public Enum CHOOSE_COLOR_FLAGS    CC_RGBINIT = &H1&    CC_FULLOPEN = &H2&    CC_PREVENTFULLOPEN = &H4&    CC_SHOWHELP = &H8&    CC_ENABLEHOOK = &H10&    CC_ENABLETEMPLATE = &H20&    CC_ENABLETEMPLATEHANDLE = &H40&    CC_SOLIDCOLOR = &H80&    CC_ANYCOLOR = &H100&  End Enum    Private Type CHOOSECOLOR    lStructSize As Long    hwndOwner As Long    hInstance As Long    rgbResult As Long    lpCustColors As Long    flags As CHOOSE_COLOR_FLAGS    lCustData As Long    lpfnHook As Long    lpTemplateName As String  End Type   Private Declare Function ChooseColor_API Lib "comdlg32.dll" Alias "ChooseColorA" (lpChoosecolor As CHOOSECOLOR) As Long Private Sub Command1_Click()  ' call the choosecolor dialog to change the backcolor of the form    Dim lpChoosecolor As CHOOSECOLOR  Dim aColorRef(15) As Long    With lpChoosecolor    .lStructSize = Len(lpChoosecolor)    .hwndOwner = hWnd    .rgbResult = Me.BackColor    .lpCustColors = VarPtr(aColorRef(0))    .flags = CC_SOLIDCOLOR Or CC_ANYCOLOR Or CC_RGBINIT  End With   If ChooseColor_API(lpChoosecolor) Then    BackColor = lpChoosecolor.rgbResult  End If  End Sub 
Hay phải không? Mời đọc tiếp bài: Bảo vệ thư mục
Cảm ơn đã đọc bài
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
Hình đại diện của thành viên
Kasper
Guru
Guru
Bài viết: 1063
Ngày tham gia: Thứ 6 16/05/2008 10:54 am
Has thanked: 2 times
Been thanked: 76 times
Tiếp xúc:

Re: Color Dialog

Gửi bài by Kasper »

Phức tạp nhỉ? Sao không dùng CommonDialog1 cho nhanh gọn.

Mã: Chọn tất cả

     CommonDialog1.ShowColor    Me.BackColor = CommonDialog1.Color 
Lành tợ tòng, ác tợ hoa,
Nhà hòa muôn việc đều nên.
Hình đại diện của thành viên
truongphu
VIP
VIP
Bài viết: 4785
Ngày tham gia: Chủ nhật 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 530 times

Re: Color Dialog

Gửi bài by truongphu »

Kasper đã viết:Phức tạp nhỉ? Sao không dùng CommonDialog1 cho nhanh gọn.

Mã: Chọn tất cả

CommonDialog1.ShowColor    Me.BackColor = CommonDialog1.Color 
Đúng là CommonDialog1 gọn, nhưng có bạn lại không thích chèn các components, sợ nặng project !
Minh chứng:
newbi đã viết:Em lấy đoạn code savefile của anh chế lại ra openfile nhưng không biết cách lấy đường dẫn file được chọn.Anh giúp em với nha.Chứ dùng Commondialog mà lại kéo theo thằng com32dlg.oxcthì chán lắm.
Chịu khó copy vài chục hàng code nhẹ hều là OK
mà code trên đâu có gì phức tạp? 30 dòng đầu là khai báo kiểu biến, hiểu cũng dễ.
1 dòng khai hàm API.
và vài dòng ứng dụng
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
Hình đại diện của thành viên
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: Thứ 4 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 32 times
Tiếp xúc:

Re: Color Dialog

Gửi bài by clarkkent »

bác truongphu hình như quanghoa có post 1 bài về các hôp thoại có hiển thị tiếng Việt luôn... :D. Mà xài cái này thì tiên hơn xài CommonDialog, khỏi phải mang vác hay thiếu gì cả... :D
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...
tintin16
Bài viết: 8
Ngày tham gia: Thứ 4 22/04/2009 7:48 pm

Re: Color Dialog

Gửi bài by tintin16 »

các anh siêu quá. đối với e, viết những câu lệnh này là chân trời mơ ước
Đăng trả lời

Quay về