HMI使用自定义控件流程

1.定义控件ID号,以FO_COMP_CUSTOM为基数


#define SCENEENTITY_SIMULATOR_SHAPE FO_COMP_CUSTOM + 210


2.编写控件类,并继承于CFOBitmapShape
具体实现可以在程序中找例子,重新OnDraw3d这个虚函数来实现控件的绘制


3. 在MainFrm.cpp中,在工具栏中创建出按钮,用一个唯一ID号


CBCGPRibbonPanel* pPanelEntity = pScenario->AddPanel (_T("ENTITY"), m_PanelImages.ExtractIcon (3));
pPanelEntity->Add (new CBCGPRibbonButton (ID_SCENE_ENTITY_SIMULATOR,  _T ("模拟器"), nimgid, nimgid)); nimgid++;


4. 在视图(View)的h和cpp中,编写按钮事件函数声明和实现


afx_msg void OnSceneEntitySimulator();
ON_COMMAND(ID_SCENE_ENTITY_SIMULATOR, OnSceneEntitySimulator)
void CCosiWorksView::OnSceneEntitySimulator() 
{
ResetToSelectMode();
m_drawshape = SCENEENTITY_SIMULATOR_SHAPE;
SetCurrentDrawingCursor(IDC_FO_DRAWRECT_CURSOR);
m_action_state = State_DrawRect;
m_bUpRightMode = FALSE;
}


5. 在CExtTabModel类的DoCreateShapeByType函数中new出控件,并传入适当的参数,比如尺寸大小之类的


在switch case 控件ID,来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务

centos 下编译安装nginx mysql php 服务1、安装nginx1.1、安装依赖包yum install wget make gcc gcc-c pcre-devel openssl-devel -y yum install ncurses-devel libtool zilib-devel -y1.2、创建www用户useradd www -s /sbin/nologin -M1.3、创建目录mkdir -p /var/log/ngin…

hdu 1874(Dijkstra + Floyd)

链接:http://acm.hdu.edu.cn/showproblem.php?pid1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 27692 Accepted Submission(s): 10019 Problem Description某省自从实行了很多年…

php原生session,利用Memcached在php下实现session机制 替换PHP的原生session支持

方法文件session实现文件:memcachedsession.php实现原理(也是PHP内部session的实现原理):1.先判断客户端有没有sessionid,a.没有就添加一个sessionid给客户端,通常是32位hash码,同时初始化一个数组做session容器b.如果客户端有ses…

Web 开发中很实用的10个效果【附源码下载】

在工作中,我们可能会用到各种交互效果。而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的。这篇文章给大家推荐10个在 Web 开发中很有用的效果,记得收藏! 超炫…

深入分析MFC文档视图结构(项目实践)

文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用…

蓝图中实现人物移动2

从Pawn继承一个蓝图类并编写下面代码,并添加摄像机组件 1. 实现前后移动2. 实现左右移动3. 实现鼠标移动方向4. 实现鼠标俯仰

php 提取前一百个字,如何在PHP中提取字符串的前100個字符?

I am looking for a way to pull the first 100 characters from a string variable to put in another variable for printing.我正在尋找一種方法,從字符串變量中提取前100個字符,並將其放入另一個變量中進行打印。Is there a function that can do th…

实现两个pawn的切换

在playercontroller里面编写下面代码并把两个pawn放置到场景中

zoj2008 最短路

题意:给你n个点的有向图,从1点到其他所有点又从其他点回到1点的最短路。 思路:可以求一次从1点出发的最短路,再反向建图,再求一次从1出发的最短路,把两次的结果加起来就是题目所求。由于边比较多&#xff0…

steam程序员php玩的游戏,Steam:又一款烧脑的编程游戏上线,宅男回家了也要开心加班!...

原标题:Steam:又一款烧脑的编程游戏上线,宅男回家了也要开心加班!要是小伙伴们喜欢什么解谜、编程类游戏,相信Steam上的《程序员升职记》应该都是绿了的游戏,这款给宅男们设计智力游戏能让你享受到从底层到…

模式(一)javascript设计模式

模式有三种:Architectural Pattern、Design Pattern、Coding Pattern,即:框架模式、设计模式、编程模式。本文主要讲解javascript中的设计模式,好的设计模式能够提高代码的重用性,可读性,使代码更容易的维护…

matlab如何提高运算速速,如何提高以下程序的运算速度及有选择性的保存数据?...

多谢管理员math的关注。“空位随机游走过程”有英语我也不知道如何说。只知道“空位”叫做:vacancy我解解释一下整个过程。不过过程比较长一些!为了说明问题,我就举个例子如:Fe-Mg二元合金,其中Mg占3%,空位…

GPS经纬度换算成XY坐标

/// <summary>///GPS经纬度换算成x,y坐标 /// </summary>/// <param name"l"> 精度 </param>/// <param name"B"> 纬度 </param>/// <param name"xc"> X坐标 </param>/// <param na…

Valid Sudoku

这道题是个细节实现题&#xff0c;只要把valid sudoku满足的三个条件判断一下即可。 valid sudoku需满足下列三个条件&#xff1a; 1&#xff09;每一行数字1~9有且只出现一次。2&#xff09;每一列数字1~9有且只出现一次。3&#xff09;对于每个3*3的sub-box&#xff08;用i3、…

CosiWorksNew

CMainFrameCBCGPRibbonBar m_wndRibbonBar; 工具栏CreateRibbonBar() 构建工具栏CWProjectBar m_wndProjectBar; 左侧的工程窗口CWModelLibBar m_wndModellibBar; 左侧的模型窗口ShowControlBar(CBCGPDockingControlBar*, BOOL, BOOL, BOOL) 显示或隐藏左侧窗…

make xdb file.php,SCWS入门使用指南

B 结合php使用要想在php中使用scws分词工具&#xff0c;必须安装php扩展&#xff0c;并且必须要求php与scws安装在同一台机器。cd /usr/local/src/scws-1.2.2/usr/local/php-5.3.8/bin/phpize ./configure --with-scws/usr/local/scws --with-php-config/usr/local/php-5…

异步编程中的最佳做法(Async/Await) --转

近日来&#xff0c;涌现了许多关于 Microsoft .NET Framework 4.5 中新增了对 async 和 await 支持的信息。 本文旨在作为学习异步编程的“第二步”&#xff1b;我假设您已阅读过有关这一方面的至少一篇介绍性文章。 本文不提供任何新内容&#xff0c;Stack Overflow、MSDN 论坛…

spline 用法

控制actor在level中沿着一个spline path运动。 由finterp to 函数的输出数值来控制每一帧actor运动的距离。 从开始位置到spline path的终点的时间&#xff0c;是1/interp speed。假如我们控制actor从开头到终点运动的总时间是1秒&#xff0c;那么 interp speed就传入0.5&#…

php 时间戳获取周几,PHP实现根据时间戳获取周几的方法,php戳获取周_PHP教程

PHP实现根据时间戳获取周几的方法&#xff0c;php戳获取周本文实例讲述了PHP实现根据时间戳获取周几的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;获取某个时间戳的周几&#xff0c;以及未来几天以后的周几其中&#xff1a;$time 代表时间$i 今天开始具体示例…

HTML5 Canvas 高仿逼真 3D 布料图案效果

HTML5 规范引进了很多新特性&#xff0c;其中最令人期待的之一就是 Canvas 元素&#xff0c;HTML5 Canvas 提供了通过 JavaScript 绘制图形的方法&#xff0c;非常强大。下面给大家分享一个 HTML5 Canvas 绘制的 3D 布料图案效果。 温馨提示&#xff1a;为保证最佳的效果&#…