经历了千辛万苦才把图片截取完整,现在就把它贴出来吧……

本实例是针对proe4.0在VS2005环境下的开发,对于vs2003以上版本的开发本例均适用,本例从开始的打开vs2005软件开始讲解,一步不漏,并加入适当的解释和必要的说明,相信照着做完之后应该没有不成功的了!

注:软件安装注意事项:proe的安装目录不能有空格,比如:“D:\Program Files\proeWildfire 4.0”是不对的,运行的时候会出错,要把路径中的空格去掉,如“D:\proeWildfire4.0”

一、配置相关信息:

打开VS2005,选择工具——》选项,

在“项目和解决方案”中选择“VC++目录”,在“显示一下内容的目录”中选择“包含文件”,加入以下文件:

D:\proeWildfire4.0\protoolkit\includes

D:\proeWildfire4.0\protoolkit\protk_appls\includes

D:\proeWildfire4.0\prodevelop\includes

在“显示一下内容的目录”中选择“库文件”,加入以下文件:

D:\proeWildfire4.0\protoolkit\i486_nt\obj

D:\proeWildfire4.0\prodevelop\i486_nt\obj

注:这是开始前的环境配置,一次配置之后永久生效,以后再新建项目就不需要再配置了

二、新建项目,进行项目设置:

文件——》新建——》项目:

选择MFC DLL 模板,输入项目名称:

确定后点完成,项目生成后选择 项目——》属性,进行属性设置:

在test(本例的项目名称)属性页中选择配置属性——》连接器——》输入,在附加依赖项里加入:

wsock32.lib
    mpr.lib
    psapi.lib
    protk_dllmd.lib

注:对于不同的环境附加依赖项是不同的,以上是VS2005版本的开发软件附加依赖项,如果是VC++6.0则是“protk_dll.lib protoolkit.lib mpr.lib wsock32.lib ”,同时还要加入忽略库“
msvcrt.lib”,还要选择“强制输出”,否则程序会因为一些警告终止编译。

至此,所有相关的设置都已经完成!

三、添加代码:

在test.cpp 文件下加入如下代码:

#include <ProToolkit.h>
    #include <ProMenu.h>
    #include <ProMenuBar.h>
    #include <ProUtil.h>

void MyTest();
static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode);
extern "C" int user_initialize()
{
AfxEnableControlContainer();
ProError status;
ProName menumsgfile;
uiCmdCmdId   cmd_id;

//在Help菜单的左边添加Test菜单
ProStringToWstring(menumsgfile,"usermsg.txt");

status = ProMenubarMenuAdd("Test","Test","Help", PRO_B_FALSE,menumsgfile);

status = ProCmdActionAdd("MyTest",(uiCmdCmdActFn)MyTest,uiCmdPrioDefault,UserAccessTestMenu,PRO_B_TRUE,PRO_B_TRUE,&cmd_id);

status = ProMenubarmenuPushbuttonAdd("Test","Hello","Hello","Hello Help",NULL,PRO_B_TRUE,cmd_id,menumsgfile);

return(0);
}
static uiCmdAccessState UserAccessTestMenu(uiCmdAccessMode access_mode)
{
return (ACCESS_AVAILABLE);
}
void MyTest()

AfxMessageBox(_T("祝贺你!测试成功!")); 
}
extern "C" void user_terminate()
{

}

四、添加消息菜单:

在目录“D:\test”下新建文件夹“text”,在文件夹中新建一个txt文件,取名为usermsg.txt,内容为:

Test
    &Test
测试(&T)
    #
    Hello
    &Hello
你好(&H)
    #
    Hello Help
    Hello! This is a Pro/TOOLKIT sample.
你好!这是第一个使用VC++开发TOOLKIT应用程序。
    #

五、编译,生成解决方案:

至此,程序编译完成!

注:如果编译过程中出现“0已成功 1已失败”,则说明程序有错误,对不起,回头找找吧,找不清楚后面别看了……

六、编写注册文件:

新建一个dat文件,位置自定,加入内容:

name test
    startup dll
    allow_stop TRUE
    exec_file D:\test\debug\test.dll
    text_dir D:\test\text
    revision 1151
    end

注:这是注册文件,相关信息的作用请自己翻书了,我前面的帖子也有介绍的,最好放在启动目录里,调用的时候省事!

七、使用辅助应用程序:

打开proe软件,选择工具——》辅助应用程序:

在弹出的对话框中点注册,选择第六步所写的注册文件,点击启动,则菜单上就会出现“测试(T)”菜单了:

八、添加对话框:

右击资源视图中的test.rc,选择 “添加资源”,在弹出的添加资源

对话框中选择“Dialog”,新建之!如图:

将新建的对话框更名为预览窗口,右击窗口空白处,在快捷菜单下选

择“添加类”选项:在弹出的MFC类向导对话框中添加名为“dlg”的

类:

在test.cpp 文件中加入头文件 “#include "dlg.h"”,并将刚才弹

出的测试成功对话框改成自己新建的对话框,

即将“AfxMessageBox (_T("祝贺你!测试成功!")); ”处改成

AFX_MANAGE_STATE(AfxGetStaticModuleState());
     dlg dlg;
     dlg.DoModal();

编译之,编译成功后打开proe软件,注册插件,在新建的测试菜单下

选择“你好”,就会弹出自己编辑的对话框!

至此,编辑完毕!需要加入控件或者其他的东西就可以在这个对话框

中添加,那就是后续的东西了,在此不详述了……

点击测试——》你好,会弹出对话框“祝贺你!测试成功!”,如图:

至此,菜单的测试完成,这说明这个插件可以用了!后面将介绍如何插入对话框!

补充:

如果以exe形式运行proe程序,需要设定PRO_COMM_MSG_EXE环境变量,类似如下:

E:\Program Files\proeWildfire 2.0\i486_nt\obj\pro_comm_msg

s

转载于:https://www.cnblogs.com/jamespangxh/archive/2009/11/02/1594601.html

[转] proe二次开发教程——手把手教你如何二次开发相关推荐

  1. java+手柄开发_手把手教你用java轻轻松松开发贪吃蛇游戏

    贪吃蛇是一款十分经典的小游戏,对初入coding的朋友来说,拿贪吃蛇这样一个案例来练手十分合适,并不高的难度和成功后的成就感都是学习所必须的.下面我将依照我当时的思路,来逐步分析实现的整个过程. 让我 ...

  2. 计算机网络教程网线制作,图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头)...

    图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头) 2019-11-19 23:07:38 31点赞 309收藏 27评论 创作立场声明:咕咕咕 教程最后还是出了,不过咱现在用啥还是直接网购号 ...

  3. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第三讲 这是小白都能看懂的实战教程 手把手教你Python Web全栈开发 的 ...

  4. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 1)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第一讲 博主博客文章内容导航(实时更新) 更多优质文章推荐: 收藏!最详细的P ...

  5. 零基础学习嵌入式入门以及项目实战开发【手把手教+国内独家+原创】

    零基础学习嵌入式入门以及项目实战开发[手把手教+国内独家+原创] 独家拥有,绝对经典                            创 科 之 龙 嵌入式开发经典系列教程 [第一期] 主讲人: ...

  6. Android 开发之手把手教你写 ButterKnife 框架(三)

    系列文章目录导读: Android开发之手把手教你写ButterKnife框架(一) Android开发之手把手教你写ButterKnife框架(二) Android开发之手把手教你写ButterKn ...

  7. 我的世界服务器显示器,我的世界红石显示器制作教程 手把手教你做显示器

    我的世界红石显示器制作教程 手把手教你做显示器.那下面给大家分享的是我的世界里面的一个红石显示器的制作教程,那对下面的这个显示器感兴趣的玩家不妨进来卡看哦!希望大家喜欢. 游戏园我的世界官方群:325 ...

  8. [github 教程]手把手教你最简单的开源项目托管GitHub入门教程_github 教程

    [github 教程]手把手教你最简单的开源项目托管GitHub入门教程--简介 自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费 开源 项目托管站点,众多开源项目都 ...

  9. graphpad两组t检验_Graphpad 作图教程 | 手把手教你绘制森林图

    森林图 (forest plots) 是以估计模型 (固定效应模型或是随机效应模型) 结果为基础绘制出的图型.它以一条垂直的直线 (横坐标刻度为 1 或 0) 为中心,用平行于横轴的多条线段描述了每个 ...

最新文章

  1. nonatomic, retain,weak,strong用法详解
  2. 35张非常精美的爱情桌面壁纸资源(下篇)
  3. vb.net2019-跨平台
  4. 解决Tomcat运行springboot打包war工程,出现: Unable to compile class for JSP 的问题
  5. OMNet++新建工程及运行
  6. 带有HttpClient的自定义HTTP标头
  7. Android 系统(75)---Android常用的网路框架
  8. 项目管理-让什么人做什么事
  9. 20210308 20210309 :链表类题目合集
  10. 谷歌不修用户泪流:已遭利用且影响所有安卓版本的严重 0day 漏洞 StrandHogg 详情遭曝光...
  11. [PWA] Check Online Status by using the NavigatorOnLine API
  12. 关于Windows mobile设备中心,同步软件不出现,打开卡住问题的解决
  13. Sphinx速成指南
  14. 动画:从 AE 到 Web
  15. 自动微分(Auto differentiation)
  16. 基于.net的玩具商城系统
  17. 《实用VC编程之玩转控件》第1课:Windows编程简介
  18. 怎么让游戏强制窗口化_游戏防上瘾,趁父母午睡时拍照片让你玩不成!
  19. 八年级python考试题及答案_(新世纪版)2018-2019学年第二学期八年级信息技术期末试卷+答题卡+答案...
  20. bids格式数据中config文件的编写

热门文章

  1. yolo v2 之车牌检测
  2. GBASE 8A v953报错集锦34--lpad、rpad 不支持 length 函数运算改写
  3. PHP 获取当前时间、时间戳及相互转换函数用法
  4. 离谱!结论相反的两篇论文共用同一张图,教授:可能是研究生的错
  5. 奈奎斯特准则的简洁证明
  6. 矩阵键盘简易计算机设计报告,矩阵键盘设计实验报告
  7. iOS 开源项目介绍之UI篇
  8. gRPC应用demo--复杂proto文件编写
  9. 深度学习实战(一)快速理解实现风格迁移
  10. iOS 11配置文件