int CY_construct_cb ( int dialog_id,
void * client_data,
UF_STYLER_item_value_type_p_t callback_data)
{
UF_STYLER_item_value_type_t data;
/* Make sure User Function is available. */
if ( UF_initialize() != 0)
return ( UF_UI_CB_CONTINUE_DIALOG );
/* ---- Enter your callback code here ----- */
// UF_STYLER_item_value_type_t data;
data.item_attr=UF_STYLER_VALUE;
data.item_id=CY_RMIN;
data.value.real=2;
UF_STYLER_set_value(dialog_id,[$data)]
/* Callback acknowledged, do not terminate dialog */
return (UF_UI_CB_CONTINUE_DIALOG);
/* A return value of UF_UI_CB_EXIT_DIALOG will not be accepted */
/* for this callback type. You must continue dialog construction.*/
}
上部分的程序是给对话框预设置值的,运行上叙程序后,我预想对话框的值如下:
内径:2
外径:3
厚度:4
在创建按钮的回调函数中输入如下代码:
int CY_creat_cb ( int dialog_id,
void * client_data,
UF_STYLER_item_value_type_p_t callback_data)
{
UF_STYLER_item_value_type_t data;
double rx,rd,he; // 为什么这个定义一定要放 tag_t cy1_tag, cy2_tag;
int ret; // 前面呢
tag_t cy1_tag, cy2_tag;
double origin[3]={0,0,0};
double d[3]={0,0,1};
char dmin[256],dmax[256],hig[256];
dmin[0]='\0';
dmax[0]='\0';
hig[0]='\0';
//double rx,rd,he;
/* Make sure User Function is available. */
if ( UF_initialize() != 0)
return ( UF_UI_CB_CONTINUE_DIALOG );
/* ---- Enter your callback code here ----- */
data.item_attr=UF_STYLER_VALUE;
data.item_id=CY_RMIN;
UF_STYLER_ask_value(dialog_id,[$data)]
rx=data.value.real;