⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdialog.c

📁 vc环境下对pro/engineer 进行二次开发的小例子。示例演示了对话框的开发方法。
💻 C
字号:
#include "ProToolkit.h"
#include "ProMenu.h"
#include "ProParameter.h"
#include "ProUtil.h"
#include "ProMdl.h"
#include "ProNote.h"
#include "ProArray.h"
#include "ProModelItem.h"
#include "ProMessage.h"
#include <ProUI.h>
#include <ProUIDialog.h>
#include <ProUILabel.h>
#include <ProUIPushbutton.h>
#include <ProUIInputpanel.h>
#include <ProUIRadiogroup.h>
#include <ProUIOptionmenu.h>
#include "ProUICheckbutton.h"
#include "ProFaminstance.h"
#include "ProFamtable.h"
#include <ProUITable.h>

#include <ProUIList.h>
#include <ProGraphic.h>
#include <ProView.h>
#include <ProObjects.h>
#include <TestError.h>
#include <ProMdl.h>
#include <ProSolid.h>
//#include "proarraysupport.h"
#include "ProMenu.h"
#include "ProMenubar.h"
#include<ProUICmd.h>
#include "TestError.h"
#include "ProUITextarea.h"
#include <ProUIMessage.h>



#include <time.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>



//函数声明
void  UserTestDialog();
void  UserDialogCloseAction (char *,char *,ProAppData);
void  UserDialogActiveAction (char *,char *,ProAppData); 
void  UserDefaultButtonAction (char *,char *,ProAppData);

ProAppData data;

//定义函数指针p,使其指向函数UserDialogActiveAction()
void (*p)(char *,char *,ProAppData ) =(void (__cdecl *)(char *,char *,ProAppData))UserDialogActiveAction;

//定义函数指针p1,使其指向函数UserDialogCloseAction()
void (*p1)(char *,char *,ProAppData ) = (void (__cdecl *)(char *,char *,ProAppData))UserDialogCloseAction;

/*==================================================*\
  函数: user_initialize()
  作用: 用户初始化函数
\*==================================================*/
int user_initialize(int argc,
		char *argv[],
		char *version,
		char *build,
		wchar_t errbuf[])	 
{
UserTestDialog();
return (0);
}

/*==================================================*\
  函数: user_initialize()
  作用: 用户初始化函数
\*==================================================*/
void user_terminate(void)
{
	return;
}

/*==================================================*\
  函数: UsrOKAction() 
作用: OK按钮行为函数定义,该函数作用是关闭对话框。
\*==================================================*/
void UsrOKAction(char *dialog,
char *component,
ProAppData data)
{
ProUIDialogExit(dialog, 1);
}

/*==================================================*\
  函数: UsrCancelAction()
  作用: Cancel按钮行为函数定义,该函数作用是关闭对话框。
\*==================================================*/
void UsrCancelAction(
char *dialog,
char *component,
ProAppData data)
{
ProUIDialogExit(dialog, 1);
}

/*==================================================*\
  函数: UserTestDialog()
  作用: 测试对话框各函数功能
\*==================================================*/
void UserTestDialog()
{
ProAppData   data;
int status;
//将testdialog对话框资源文件调入内存
 
 ProUIDialogCreate("testdialog","testdialog");
  
//分别定义按钮OK、Cancel、DefaultButton激活函数   
ProUIPushbuttonActivateActionSet("testdialog","OK",UsrOKAction, NULL);
ProUIPushbuttonActivateActionSet("testdialog","Cancel",UsrCancelAction,
        NULL); 
ProUIPushbuttonActivateActionSet("testdialog","DefaultButton",UserDefaultButtonAction,
        NULL); 

//定义对话框激活函数
ProUIDialogActivateActionSet("testdialog",p,data);

//定义对话框关闭激活函数
ProUIDialogCloseActionSet ("testdialog",p1,data);

//设置对话框默认按钮为DefaultButton
ProUIDialogDefaultbuttonSet ("testdialog","DefaultButton");

//显示对话框  
 ProUIDialogActivate("testdialog", &status);

//释放对话框内存
ProUIDialogDestroy("testdialog");
}

/*==================================================*\
  函数: UserDefaultButtonAction ()
作用: 显示内容为"You have push the default button!"的信
息对话框
\*==================================================*/
void   UserDefaultButtonAction (char *dialog,
char *component,
ProAppData data)
{
  ProUIMessageButton* buttons;
  ProUIMessageButton user_choice;

ProArrayAlloc (1, sizeof (ProUIMessageButton), 
                 1, (ProArray*)&buttons);

  buttons [0] = PRO_UI_MESSAGE_OK;

  ProUIMessageDialogDisplay (PROUIMESSAGE_INFO,
                             L"Confirmation",
                             L"You have push the default button!",
                             buttons,
                             PRO_UI_MESSAGE_YES,
                             &user_choice);

  ProArrayFree ((ProArray*)&buttons);

 }

/*==================================================*\
  函数: UserDialogActiveAction()
作用: 显示内容为"The dialog is actived"的信息对话框
\*==================================================*/
void UserDialogActiveAction (char *dialog,
char *component,
ProAppData data)
{
  ProUIMessageButton* buttons;
  ProUIMessageButton user_choice;

ProArrayAlloc (1, sizeof (ProUIMessageButton), 
                 1, (ProArray*)&buttons);

  buttons [0] = PRO_UI_MESSAGE_OK;

  ProUIMessageDialogDisplay (PROUIMESSAGE_INFO,
                             L"Confirmation",
                             L"The dialog is actived",
                             buttons,
                             PRO_UI_MESSAGE_YES,
                             &user_choice);

  ProArrayFree ((ProArray*)&buttons);

  }

/*==================================================*\
  函数: UserDialogCloseAction()
作用: 显示内容为"The dialog is closed!"的信息对话框
\*==================================================*/
void   UserDialogCloseAction (char *dialog,
char *component,
ProAppData data)
{
  ProUIMessageButton* buttons;
  ProUIMessageButton user_choice;

ProArrayAlloc (1, sizeof (ProUIMessageButton), 
                 1, (ProArray*)&buttons);

  buttons [0] = PRO_UI_MESSAGE_OK;

  ProUIMessageDialogDisplay (PROUIMESSAGE_INFO,
                             L"Confirmation",
                             L"The dialog is closed!",
                             buttons,
                             PRO_UI_MESSAGE_YES,
                             &user_choice);

  ProArrayFree ((ProArray*)&buttons);

 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -