找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 2262|回复: 4

[已解决] 由于着急用 还请哪为兄弟 帮忙 改正一下

[复制链接]

4

主题

4

回帖

0

积分

列兵

积分
0
发表于 2011-5-30 15:59:20 | 显示全部楼层 |阅读模式
#include "stdafx.h"
/*--------------------------------------------------------------------*\
Pro/TOOLKIT includes
\*--------------------------------------------------------------------*/
#include <roSolid.h>
#include "roUtil.h"
#include <roWindows.h>
#include <roUIDialog.h>
#include <roUIPushbutton.h>
#include <roUIInputpanel.h>
#include <roArray.h>
#include <roParameter.h>
#include <roParamval.h>
#include <roUILabel.h>
#include <ProToolkit.h>
#include <ProUtil.h>
#include <ProDimension.h>
#include <ProSolid.h>
#include <ProMessage.h>
#include <ProMenu.h>
#include <ProMenuBar.h>
#include <ProMdl.h>
#include <ProModelitem.h>
#include <ProDrawing.h>
#include <ProFeature.h>
#include <ProFeatType.h>
#include <ProDrawing.h>
#include <ProNotify.h>
#include <ProRefInfo.h>
#include <ProRelSet.h>
#include <ProSelection.h>
#include <ProUICmd.h>
#include <ProNotify.h>
#include <ProPopupmenu.h>
#include <ProSelbuffer.h>
#define OK 1
#define CANCEL 0
//ProParameter *p_data; //参数对象指针数组(全局变量)
/*--------------------------------------------------------------------*\
Functions declaration  函数声明
\*--------------------------------------------------------------------*/
void CANCEL_Action(char *, char *, ProAppData);
void Update3_Action(char *, char *, ProAppData);
void ParamUpdate(char *,char *,char *,ProModelitem *);
void Userdefined3_Action(char *, char *, ProAppData);
/*=========================================================*\
FUNCTION: Duangai3Fn()
\*=========================================================*/
int Duangai3Fn()
{
ProError status;
char  *dialog_name = "Duangai3";
int ActiveDialog_status;
/*----------------------------------------------------------------*\
装入对话框资源
\*----------------------------------------------------------------*/
status=ProUIDialogCreate(dialog_name,dialog_name );
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialog CreateCreate error!");
return status;
}
//设置Cancel按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Cancel",
CANCEL_Action, NULL);
//设置Update3按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Update3",
Update3_Action, NULL);
//设置Userdefined3按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Userdefined3",  
Userdefined3_Action, NULL);
/*----------------------------------------------------------------*\
        显示和激活对话框
\*----------------------------------------------------------------*/
    status=ProUIDialogActivate(dialog_name,&ActiveDialog_status);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogActivate error!");
return status;
}
/*----------------------------------------------------------------*\
从内存清除对话框资源
\*----------------------------------------------------------------*/       
status=ProUIDialogDestroy (dialog_name);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogDestroy error!");
return status;
}
return status;
}
/*=========================================================*\
FUNCTION : ParamUpdate (更新参数值)
\*=========================================================*/
void ParamUpdate(char *dialog,     //(In)对话框名
char *component,             //(In)输入框元件名
char *Name,                 //(In)参数名
ProModelitem *modelitem)     //(In)模型项
{
wchar_t ParamName,*NewValue;
ProParameter param;
ProParamvalue value;
ProCharLine strtmp;
ProStringToWstring(&ParamName,Name);
//根据指定的参数名获得参数对象指针
ProParameterInit(modelitem,&ParamName,&param);
ProUIInputpanelValueGet(dialog,component,&NewValue);
ProWstringToString(strtmp,NewValue);
//获得参数值
ProParameterValueGet(&param, &value);
switch( value.type )
{
case PRO_PARAM_DOUBLE:
value.value.d_val=atof(strtmp);
break;
case PRO_PARAM_INTEGER:
value.value.i_val=atoi(strtmp);
break;
}
//新的参数值设置
ProParameterValueSet(&param, &value);
}
/*=========================================================*\
FUNCTION    Update3_Action ("Update"按钮的动作函数定义)
\*=========================================================*/
void Update3_Action(char *dialog, char *component, ProAppData data)
{
ProMdl   model;
ProModelitem modelitem;
ProMdlCurrentGet(&model);
ProMdlRetrieve(L"./sheji/Release/text/chinese_cn/Duangai3.prt", (ProMdlType)PRO_PART,(ProMdl*)&model);
ProMdlDisplay(model);
ProMdlToModelitem(model, &modelitem);
ParamUpdate(dialog,"D_Value","D",&modelitem);
ParamUpdate(dialog,"DA_Value","DA",&modelitem);
ParamUpdate(dialog,"DB_Value","DB",&modelitem);
ParamUpdate(dialog,"DC_Value","DC",&modelitem);
ParamUpdate(dialog,"SD_Value","SD",&modelitem);
ParamUpdate(dialog,"SB_Value","SB",&modelitem);
ParamUpdate(dialog,"R_Value","R",&modelitem);
ParamUpdate(dialog,"B_Value","B",&modelitem);
//模型再生
ProSolidRegenerate ((ProSolid)model,PRO_B_TRUE);
ProWindowRepaint(PRO_VALUE_UNUSED);
}
/*=========================================================*\
FUNCTION: Userdefined3_Action
\*=========================================================*/
void Userdefined3_Action(char *dialog, char *component, ProAppData data)
{
ProError status;
char  *dialog_name = "Duangai3_1";
int ActiveDialog_status;
/*----------------------------------------------------------------*\
装入对话框资源
\*----------------------------------------------------------------*/       
status=ProUIDialogCreate(dialog_name,dialog_name );
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialog CreateCreate error!");
}
//设置Cancel按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Cancel",  
CANCEL_Action, NULL);
//设置Update3按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Update3",
Update3_Action, NULL);
/*----------------------------------------------------------------*\
显示和激活对话框
\*----------------------------------------------------------------*/
status=ProUIDialogActivate(dialog_name,&ActiveDialog_status);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogActivate error!");
}
/*----------------------------------------------------------------*\
从内存清除对话框资源
\*----------------------------------------------------------------*/
status=ProUIDialogDestroy (dialog_name);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogDestroy error!");
}
}

71

主题

438

回帖

676

积分

三级士官

积分
676
发表于 2011-5-30 16:49:03 | 显示全部楼层
看得我头晕了,

4

主题

4

回帖

0

积分

列兵

积分
0
 楼主| 发表于 2011-5-30 17:16:45 | 显示全部楼层
我第一次看到也头晕,还得高手来解决啊

45

主题

404

回帖

673

积分

三级士官

积分
673
发表于 2011-5-30 18:26:16 | 显示全部楼层
这是什么呀?轨迹文件

14

主题

58

回帖

0

积分

列兵

积分
0
发表于 2011-5-31 10:57:59 | 显示全部楼层
我看出来了,你这是在一本书上贴下来的一个程序段,我应该看过这本书,这是个制作对话框的一段程序,前面没有头,后面没有尾,其实这本书有很多程序段都是分着讲的,你想把他运行起来的话,要和前面的程序段链接起来,这种书往往都是前后对应着看的,既然兄弟你有这本书,就认认真真看一下吧,只要认真看下去,亲自去尝试着编写调试,不出一个月,你自己就把这个问题解决了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-2-7 21:13

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表