在PowerBuilder中调用ChooseColor函数
首先创建一个Custom user object并定义如下Structure(OS_ChooseColor):
long lstructsize
ulong hwndowner
ulong hinstance
long rgbresult
blob lpcustcolors
long flags
long lpfnhook
long lptemplatename
定义实例变量:
Private:
os_ChooseColor istr_ChooseColor
long il_CustomInitColors[16]
blob{64} ibl_CustomColors
定义外部函数::
function boolean ChooseColorA( REF os_ChooseColor lpcc ) library "comdlg32.dll"
在 constructor 事件中写入如下代码::
// initialize choosecolor information
// convert the default custom color array to a blob variable blobedit(ibl_customcolors,1,il_custominitcolors)
// let the structure element point to the blob array
istr_choosecolor.lpcustcolors = ibl_customcolors
// set the size
istr_choosecolor.lStructSize = 36
// no owner
SetNull(istr_choosecolor.hwndOwner)
// set flag
istr_choosecolor.flags = 1
创建对象函数:boolean of_choosecolor(ref long al_rgbresult) ,代码如下:
boolean lb_ok
istr_ChooseColor.rgbresult = al_rgbresult
lb_ok = ChooseColorA ( istr_choosecolor )
al_rgbresult = istr_ChooseColor.rgbresult
return lb_ok