devxlogo

Color Dialog (Common Dialog)

Color Dialog (Common Dialog)

Question:
How can I use the CHOOSECOLOR WIN32 API with Powerbuilder?

Answer:
Create a custom user object and declare the following local structure:

long		lstructsizeulong		hwndownerulong		hinstancelong		rgbresultblob		lpcustcolorslong		flagslong		lcustdatalong		lpfnhooklong		lptemplatename
then declare the following instance variables:
Private:os_ChooseColor istr_ChooseColorlong il_CustomInitColors[16]blob{64} ibl_CustomColors
Declare the following local external function:
function boolean ChooseColorA( REF os_ChooseColor  lpcc ) library “comdlg32.dll”
In the constructor event of your object add the following code:
// initialize choosecolor information// convert the default custom color array to a blob variableblobedit(ibl_customcolors,1,il_custominitcolors)// let the structure element point to the blob arrayistr_choosecolor.lpcustcolors = ibl_customcolors // set the sizeistr_choosecolor.lStructSize = 36// no owner SetNull(istr_choosecolor.hwndOwner)// set flagistr_choosecolor.flags = 1
Then finally add a function boolean of_choosecolor(ref long al_rgbresult) with the following code:
boolean lb_okistr_ChooseColor.rgbresult = al_rgbresultlb_ok = ChooseColorA ( istr_choosecolor )al_rgbresult = istr_ChooseColor.rgbresult return lb_ok

See also  11 Effective Keyword Research Tools and Techniques
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist