|
楼主 |
发表于 2012-12-17 14:51
|
显示全部楼层
应部分坛友短信我的要求,现将下列两个函数的代码附上:
ParamGetAndShow() //功能:获取模型参数,显示并初始化对话框控件值
ParamUpdate() //功能:修改对话框控件值,更新模型参数
/*==================================================================*\
函数:ParamGetAndShow()
功能:从零部件模型中获得参数值,并在相应的输入框中显示
\*==================================================================*/
void ParamGetAndShow(char *dialog,char *component,char *Name)
{
ProMdl mdl;
ProModelitem modelitem;
ProMdlCurrentGet(&mdl);
ProMdlToModelitem(mdl,&modelitem);
int iparam;
double dparam;
ProName pname;
ProParameter param;
ProParamvalue value;
ProStringToWstring(pname,Name);
//根据指定的参数名获得参数对象指针
ProParameterInit(&modelitem,pname,¶m);
//获得参数值
ProParameterValueGet(¶m,&value);
//根据参数值的类型,显示在相应类型的输入框中
if(value.type==PRO_PARAM_DOUBLE)
{
dparam=value.value.d_val;
ProUIInputpanelDoubleSet(dialog,component,dparam);
}
if(value.type==PRO_PARAM_INTEGER)
{
iparam=value.value.i_val;
ProUIInputpanelIntegerSet(dialog,component,iparam);
}
ProParameterValueSet(¶m,&value);
}
/*==================================================================*\
函数:ParamUpdate()
功能:更新参数值
\*==================================================================*/
void ParamUpdate(char *dialog,char *component,char *Name)
{
ProMdl mdl;
ProModelitem modelitem;
ProParameter param;
ProParamvalue value;
ProName pname;
ProStringToWstring(pname,Name);
int iparam;
double dparam;
ProMdlCurrentGet(&mdl);
ProMdlToModelitem(mdl,&modelitem);
ProParameterInit (&modelitem,pname,¶m);
ProParameterValueGet(¶m,&value);
if(value.type==PRO_PARAM_DOUBLE)
{
ProUIInputpanelDoubleGet(dialog,component,&dparam);
value.value.d_val=dparam;
}
if(value.type==PRO_PARAM_INTEGER)
{
ProUIInputpanelIntegerGet(dialog,component,&iparam);
value.value.i_val=iparam;
}
ProParameterValueSet(¶m,&value);
}
[ 本帖最后由 lxp8125 于 2012-12-17 15:00 编辑 ] |
|