- 30
- 0
- 约4.26千字
- 约 4页
- 2019-12-09 发布于河北
- 举报
******在Patran下挂下拉菜单******
通常我们不修改init.pcl文件,启动init.pcl时而会执行附带的启动文件p3prolog.pcl和p3epilog.pcl。如果这些文件存在,就会在init.pcl启动前后装载p3prolog.pcl(启动前)和p3epilog.pcl(启动后),所以这两个文件是我们插入自定义命令的好地方。
!!PATH
!!LIBRARY
!!INPUT
在Patran安装目录下修改p3prolog.pcl,加入如下命令,例如:
!!input mymenu.pcl #装载菜单文件
ui_exec_function(mymenu,init) #当且仅初始化一次
!!input plateform.pcl #装载对话框文件
******** 下拉菜单程序编写*********
CLASS exercise
FUNCTION init() /*初始化菜单*/
WIDGET menubar,menu,item1,item2,item3 /*定义控件变量*/
menu = uil_primary.get_menubar_id() /*获取主菜单ID*/
menubar=ui_menu_create(menu,exercise_menu,有限元分析) /*添加菜单*/
item1=ui_item_create(menubar,ex_1,计算,FALSE) /*添加子菜单*/
item2=ui_item_create(menubar,ex_2,导入文件,FALSE) /*添加子菜单*/
item3=ui_item_create(menubar,ex_3,结束,FALSE) /*添加子菜单*/
END FUNCTION
FUNCTION exercise_menu(item_name) /*菜单各项的响应函数*/
STRING item_name[]
SWITCH(item_name)
CASE(EX_1)
write(Plate with a hole creating function)
ui_exec_function(plateform,init)
plateform.display()
CASE(EX_2)
write(cross pipes creating function)
CASE(EX_3)
write(slot modeling function)
END SWITCH
END FUNCTION
END CLASS
*******弹出对话框程序编写*******
#include appforms.p
CLASS plateForm
/*定义控件变量*/
CLASSWIDE WIDGET form_id,dataBox1,dataBox2,dataBox3,@
apply_button,cancel_button,delete_button
/*初始化对话框,必要的函数*/
FUNCTION init()
real x_loc,y_loc
/*创建对话框窗体ui_form_create(callback,x,y,position,width,height,label,[unused])*/
form_id=ui_form_create(,FORM_X_LOC,FORM_Y_LOC,UL,FORM_WID_SML,FORM_HGT_FULL,PLATE WITH A HOLE,)
/*创建图标*/
x_loc=FRAME_WID_SINGLE/2.-200*PIXEL_WID/2.+FORM_L_MARGIN
y_loc=FRAME_T_MARGIN+INTER_WIDGET_SPACE
/* ui_labelicon_create(parent,callback,x,y,label)*/
ui_labelicon_create(form_id,,x_loc,y_loc,platehole.icon)
y_loc+=200.*PIXEL_HGT+DBOX_HGT_NO_LABOVE+INTER_WIDGET_SPACE
/*创建输入文本框ui_databox_create(parent,callback,x,y,label_length,box_length,width,height,label,value,label_above,datatype,num_vars)*/
dataBox1=ui_databox_create(form_id,,FRAME_L_MARGIN,y_loc,SINGLE_SPACE*5.0,DBOX_WID_SING
原创力文档

文档评论(0)