在Codejock中工具条里按钮具有多个状态的编程方法
2007-06-21 17:19
232 查看
1。在资源中的工具条编辑器中,把各种状态的图表都加入到工具条中;
2。在MainFrm.h文件中定义工具条变量
CXTPToolBar* m_pToolbar;
3。在MainFrm.cpp文件中加入创建工具条函数
BOOL CMainFrame::CreateToolbar()
{
CXTPCommandBars* pCommandBars = GetCommandBars();
if(pCommandBars == NULL)
{
TRACE0("Failed to create command bars object./n");
return -1; // fail to create
}
m_pToolbar = (CXTPToolBar*)
pCommandBars->Add(_T("工具条"), xtpBarTop);
if (!m_pToolbar || !m_pToolbar->LoadToolBar(IDR_TOOLBAR))
{
TRACE0("Failed to create toolbar/n");
return -1;
}
m_pToolbar->SetVisible(FALSE);
return TRUE;
}
4。在MainFrm.cpp的消息处理程序OnCreate中引用上面的函数CreateToolbar();
5。在View.h文件中加入按钮控制变量
CXTPControl* m_pToo11;
CXTPControl* m_pTool2;
消息相应函数的说明:
afx_msg void OnTool1();
afx_msg void OnUpdateTool1(CCmdUI* pCmdUI);
afx_msg void OnTool2();
afx_msg void OnUpdateTool2(CCmdUI* pCmdUI);
6.在View.cpp的OnInitailUpdate函数中加入
CChildFrame* pChild = (CChildFrame*)GetParentFrame();
m_pTool1 = pChild->m_pWndMainFrm->m_pToolbar->GetControl(n1);
m_pTool2 = pChild->m_pWndMainFrm->m_pToolbar->GetControl(n2);
其中的n1、n2位相应图标在工具条的位置,以0为起始值.
7。在View的消息途中加入
ON_COMMAND(ID_TOOL1,OnTool1)
ON_UPDATE_COMMAND_UI(ID_TOOL1, OnUpdateTool1)
ON_COMMAND(ID_TOOL2,OnTool2)
ON_UPDATE_COMMAND_UI(ID_TOOL2, OnUpdateTool2)
8.在相应的消息处理程序中加入
void CTrendGraph::OnUpdateTool1(CCmdUI* pCmdUI)
{
CChildFrame* pChild = (CChildFrame*)GetParentFrame();
if(m_pTool1 != NULL)
{
if(m_bTool)
{
m_pTool1->SetHideFlags(TRUE);
m_pTool2->SetHideFlags(FALSE);
}
else
{
m_pTool1->SetHideFlags(FALSE);
m_pTool2->SetHideFlags(TRUE);
}
pChild->m_pWndMainFrm->m_pToolbar->DelayRedraw();
}
}
9. 在函数OnTool1()中执行相应的操作。
相关文章推荐
- 商家QQ在线状态按钮版本太低,不能发起会话,请按如下方法操作
- 积累的VC编程小技巧之工具条和状态条
- 按钮的背景图片根据状态的不同而显示不同的图片,网上有介绍相关的方法。
- 引言_基于活动状态机架构的编程方法(状态化编程思想)(Statefulization Programming Method)
- 点击提交按钮后按钮变灰色不可用状态的三种方法
- js实现带关闭按钮始终显示在网页最底部工具条的方法
- 并编程对派出类的功能进行验证。。 轿车类等 派生出自行车类 停车等方法。然后从该类为基类 最大速度。重量等字段以及开车 要求具有速度 定义一个车辆类
- [编程心得]PyQt中让按钮保持按下状态
- jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
- 积累的VC编程小技巧之工具条和状态条
- 面向对象的编程方法具有四个基本特征
- Extjs grid添加一个图片状态或者按钮的方法
- 在Codejock工具条里加入控件的方法
- 编程的有效方法--用枚举表示选项及状态
- VC6.0中基于对话框程序中菜单栏和工具条按钮的状态同步更新问题
- 带具有menu物理键的手机不显示溢出菜单按钮的解决方法
- Android编程监听网络连接状态改变的方法
- PerformClick 方法使用 以编程方式调用按钮的 Click 事件 (Visual C#)
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为