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,来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值