• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Color Dialog

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
User avatar
truongphu
VIP
VIP
Posts: 4764
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 519 times

Color Dialog

Postby truongphu » Sat 17/01/2009 8:22 am

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


Cần Command1

Code: Select all

  1. Option Explicit
  2.   ' demo project showing how to use the ChooseColor API function
  3.   ' by Bryan Stafford of New Vision Software® - newvision@mvps.org
  4.   ' this demo is released into the public domain "as is" without
  5.   ' warranty or guaranty of any kind.  In other words, use at
  6.   ' your own risk.
  7.  
  8.   Public Enum CHOOSE_COLOR_FLAGS
  9.     CC_RGBINIT = &H1&
  10.     CC_FULLOPEN = &H2&
  11.     CC_PREVENTFULLOPEN = &H4&
  12.     CC_SHOWHELP = &H8&
  13.     CC_ENABLEHOOK = &H10&
  14.     CC_ENABLETEMPLATE = &H20&
  15.     CC_ENABLETEMPLATEHANDLE = &H40&
  16.     CC_SOLIDCOLOR = &H80&
  17.     CC_ANYCOLOR = &H100&
  18.   End Enum
  19.  
  20.   Private Type CHOOSECOLOR
  21.     lStructSize As Long
  22.     hwndOwner As Long
  23.     hInstance As Long
  24.     rgbResult As Long
  25.     lpCustColors As Long
  26.     flags As CHOOSE_COLOR_FLAGS
  27.     lCustData As Long
  28.     lpfnHook As Long
  29.     lpTemplateName As String
  30.   End Type
  31.  
  32.   Private Declare Function ChooseColor_API Lib "comdlg32.dll" Alias "ChooseColorA" (lpChoosecolor As CHOOSECOLOR) As Long
  33.  
  34. Private Sub Command1_Click()
  35.   ' call the choosecolor dialog to change the backcolor of the form
  36.  
  37.   Dim lpChoosecolor As CHOOSECOLOR
  38.   Dim aColorRef(15) As Long
  39.  
  40.   With lpChoosecolor
  41.     .lStructSize = Len(lpChoosecolor)
  42.     .hwndOwner = hWnd
  43.     .rgbResult = Me.BackColor
  44.     .lpCustColors = VarPtr(aColorRef(0))
  45.     .flags = CC_SOLIDCOLOR Or CC_ANYCOLOR Or CC_RGBINIT
  46.   End With
  47.  
  48.   If ChooseColor_API(lpChoosecolor) Then
  49.     BackColor = lpChoosecolor.rgbResult
  50.   End If
  51.  
  52. End Sub
  53.  

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

User avatar
Kasper
Guru
Guru
Posts: 1063
Joined: Fri 16/05/2008 10:54 am
Has thanked: 2 times
Been thanked: 76 times
Contact:

Re: Color Dialog

Postby Kasper » Sat 17/01/2009 9:26 am

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

Code: Select all

  1.  
  2.     CommonDialog1.ShowColor
  3.     Me.BackColor = CommonDialog1.Color
  4.  
Lành tợ tòng, ác tợ hoa,
Nhà hòa muôn việc đều nên.

User avatar
truongphu
VIP
VIP
Posts: 4764
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 519 times

Re: Color Dialog

Postby truongphu » Sat 17/01/2009 9:46 am

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

Code: Select all

  1. CommonDialog1.ShowColor
  2.     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 wrote: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

User avatar
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Posts: 1641
Joined: Wed 16/04/2008 11:25 am
Location: Chợ Lách - Bến Tre
Been thanked: 31 times
Contact:

Re: Color Dialog

Postby clarkkent » Sat 17/01/2009 8:30 pm

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
Posts: 8
Joined: Wed 22/04/2009 7:48 pm

Re: Color Dialog

Postby tintin16 » Thu 23/04/2009 7:18 am

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


Return to “[VB] Mẹo vặt khác”

Who is online

Users browsing this forum: No registered users and 0 guests