ToolBar

 

if (!m_wndToolBar.CreateEx(AfxGetMainWnd(), TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))// ||
  //!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
 {
  TRACE0("Failed to create toolbar/n");
 
 }
  m_wndToolBar.SetButtons(NULL,7);
 bitmap.LoadBitmap(IDB_PHONEBAR);
 int i=imageList.Create(16, 15, ILC_COLOR24, 13, 1);
 imageList.Add(&bitmap, (CBitmap*)NULL);
 m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
 m_wndToolBar.SendMessage(TB_SETDISABLEDIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
 imageList.Detach();
 bitmap.Detach();
 m_wndToolBar.SetButtonText(0, "连接");
 m_wndToolBar.SetButtonText(2, "播放");
 m_wndToolBar.SetButtonText(3, "保存");
 m_wndToolBar.SetButtonText(5, "全选");
 m_wndToolBar.SetButtonText(6, "删除");
 m_wndToolBar.SetSizes(CSize(50,40),CSize(20,20));
 m_wndToolBar.GetToolBarCtrl().SetButtonWidth(40,50);
 m_wndToolBar.SetButtonInfo(0, ID_CONNECT, TBSTYLE_BUTTON, 0);
 m_wndToolBar.SetButtonInfo(1, 0, TBBS_SEPARATOR, 0);
 m_wndToolBar.SetButtonInfo(2, ID_VIDEO_PLAY, TBSTYLE_BUTTON, 1);
 m_wndToolBar.SetButtonInfo(3, ID_VIDEO_SAVE, TBSTYLE_BUTTON, 2);
 m_wndToolBar.SetButtonInfo(4, 0, TBBS_SEPARATOR, 0);
 m_wndToolBar.SetButtonInfo(5, ID_VIDEO_SELECTALL, TBSTYLE_BUTTON, 3);
 m_wndToolBar.SetButtonInfo(6, ID_VIDEO_DELETE, TBSTYLE_BUTTON, 4);
其中
  m_wndToolBar.SetButtons(NULL,7);设置toolbar的按钮个数(包括SEPARATOR).
m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
 m_wndToolBar.SendMessage(TB_SETDISABLEDIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
分别设置正常的和无效时的image list 还有一个TB_SETHOTIMAGELIST设置当鼠标在按钮上时的image list .
SetButtonText设置按钮的文字.
SetSizes设置按钮和图片的大小,这个函数一定要在SetButtonText后调用要不然会看不到文字
GetToolBarCtrl().SetButtonWidth(40,50);设置按钮的宽度一定要调用,否则在toolbar buttib无效是,button的宽度会调成最大button文字长度的宽度,而不是你预想的宽度
SetButtonInfo 设置button的图片和nID(用来关联消息可在on_commond中使用)


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/jongleur/archive/2004/10/18/141305.aspx

### Toolbar 的定义及其在软件开发和 UI 设计中的作用 #### 工具栏(Toolbar)概述 工具栏是一种常见的用户界面组件,通常位于窗口顶部或底部,提供快速访问常用功能的方式。它可以通过图标、文字或其他交互元素来表示操作命令[^1]。 #### 在 Qt Design Studio 中的应用 在 Qt Design Studio 手册版本 3.5.0 中提到的工作流设计部分表明,工具栏可以作为汽车应用工作流程的一部分被集成到用户界面上。这种集成为用户提供了一种高效的方式来执行特定任务,尤其是在需要频繁调用某些功能的情况下。 #### 用户为中心的设计原则 从用户体验的角度来看,《回到人类界面设计》一书中强调了以用户为中心的设计理念[^2]。这意味着工具栏的设计应考虑用户的实际需求和习惯,确保其布局直观且易于理解。例如,在设计工具栏时,应该优先放置最常用的按钮,并按照逻辑顺序排列它们,以便提高可用性和效率。 #### 跨平台支持与 Angular/Onsen UI 集成 对于移动应用开发者而言,使用框架如 Onsen UI 可简化跨平台开发过程[^3]。通过强大的 API 支持,开发者能够轻松实现具有原生外观风格的工具栏组件。以下是利用 Angular 和 Onsen UI 创建基本工具栏的一个简单示例: ```html <ons-toolbar> <div class="center">Application Title</div> <div class="right"> <ons-button>Settings</ons-button> </div> </ons-toolbar> ``` 此代码片段展示了如何在一个 HTML 文件中定义一个包含标题和设置按钮的基础工具栏结构。 #### 沟通的重要性 考虑到不同背景人员之间的协作问题,有效沟通显得尤为重要[^4]。当讨论关于工具栏的具体实现细节时,项目经理和技术团队之间可能存在的术语差异需得到妥善处理。只有双方都能清晰表达各自的观点并达成共识,才能保证最终产品满足预期目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值