UG二次开发对文件对话框操作

用到头文件

#include <uf_ui.h>
#include <uf.h>

文件对话框主要有3种常用的标准对话框

UF_UI_create_part()  //File- >New File创建一个部件并使其成为工作部件选择对话框
UF_UI_open_part()    //File- >Open File打开一个部件并使其成为工作部件选择对话框。
UF_UI_create_filebox()   //文件选择对话框可以选择各类文件打开,而前两种只适合(.prt)类型

下面进行代码和图片详细详细说明

//自定义错误信息结构体
static logical my_error_handler(UF_UI_err_data_p_t error_fn_data, char * file_name,
	int error, UF_PART_load_status_t * error_status, logical * skip_error_disp)
{
	fprintf(stderr, "my_error_handler called with:\n" "error_fn_data->size=%d\n" "error_fn_data->data=%s\n"
		"file_name=%s\n" "erroe =%d\n", error_fn_data->size, (const char *)error_fn_data->data, file_name, error);
	*skip_error_disp = TRUE;
	return TRUE;
}

/*
static logical my_error_handler(UF_UI_err_data_p_t error_fn_data, char * file_name,
int error, logical * skip_error_disp)
{
fprintf(stderr, "my_error_handler called with:\n" "error_fn_data->size=%d\n" "error_fn_data->data=%s\n"
"file_name=%s\n" "erroe =%d\n", error_fn_data->size, (const char *)error_fn_data->data, file_name, error);
*skip_error_disp = TRUE;
return TRUE;
}
*/
/


	UF_initialize();
/*
	//File- >New File创建一个部件并使其成为工作部件选择对话框。
	UF_UI_err_t error_newfile_fn;
	char file_name[256]= "box.prt";
	int units = UF_PART_METRIC;
	tag_t partTAG=NULL_TAG;
	int response=0;
	const char *message = "create open error!";

	error_newfile_fn.type = UF_UI_create_part_fun;				// UF_UI_create_part_fun,UF_UI_open_part_fun 创建零件函数,打开零件函数
	error_newfile_fn.fun.create = my_error_handler;
	error_newfile_fn.fun_data.size = strlen(message) + 1;
	error_newfile_fn.fun_data.data = message;
	UF_UI_create_part(&error_newfile_fn, file_name, &units, &partTAG, &response);
*/
//File- >Open File打开一个部件并使其成为工作部件选择对话框。
	//声明变量
/*
	int response;
	tag_t part_tag = NULL_TAG;
	char file_name[MAX_FSPEC_SIZE + 1] = "flange.prt";
	const char *message = "part open error";
	logical use_display_file = FALSE;
	UF_PART_load_status_t part_status;
	UF_UI_err_t error_handler;

	error_handler.type = UF_UI_open_part_fun;
	error_handler.fun.open = my_error_handler;
	error_handler.fun_data.size = strlen(message) + 1;
	error_handler.fun_data.data = message;

	UF_UI_open_part(&error_handler, file_name, &use_display_file, &part_tag, &response, &part_status);
	if (part_status.statuses != NULL)
	{
		UF_free(part_status.statuses);
	}
	if (part_status.file_names != NULL)
	{
		UF_free_string_array(part_status.n_parts,
			part_status.file_names);
	}
*/
	//文本选择对话框
	char prompt_string[256] = "选择要打开的文件";
	char title_string[256]="文件选择对话框";
	char filter_string[256]=".prt";//要打开的类型可以选择多种打开类型如.txt  .part,上边两种只是.prt文件
	char default_name[256]="xxx.prt";//显示默认文件名
	char filename[256];///*输出完整的路径*/
	int response = 0;
	UF_UI_create_filebox(prompt_string, title_string, filter_string, default_name, filename, &response);

	uc1601(filename, 1);    //进行弹出对话框进行打印filename

	UF_terminate();

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白雪公主的后妈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值