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

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: