51CTO技术论坛_中国领先的IT技术社区's Archiver

飞天兔 发表于 2006-8-28 23:50

在PowerBuilder中调用ChooseColor函数

首先创建一个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

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.