首先创建一个Custom user object并定义如下Structure(OS_ChooseColor): long lstructsize ulong hwndowner ulong hinstance long rgbresult blob lpcustcolors long flags long lcustdata 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
|