CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

请教~关于在工具栏中加文本框

楼主hyb1011(村人)2005-04-02 21:08:14 在 VC/MFC / 界面 提问

请教如何在工具栏中加文本编辑框? 问题点数:10、回复次数:6Top

1 楼psbeond(LibUIDK界面库客服)回复于 2005-04-02 23:18:20 得分 2

在资源中插入一个对话框,映射一个工具栏窗口,就像对话框一样,想往上面拖什么控件都行.Top

2 楼virtualfunction(virtualfunction)回复于 2005-04-02 23:30:59 得分 1

用CReBarTop

3 楼Mackz(在相互)回复于 2005-04-02 23:53:04 得分 7

在CMainFrame中添加一个CEdit变量:  
  CEdit   m_Edit;  
  在CMainFrame::OnCreate()中  
  if   (!m_wndToolBar.CreateEx(this,   TBSTYLE_FLAT,   WS_CHILD   |   WS_VISIBLE   |   CBRS_TOP  
  |   CBRS_GRIPPER   |   CBRS_TOOLTIPS   |   CBRS_FLYBY   |   CBRS_SIZE_DYNAMIC)   ||  
  !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))  
  {  
  TRACE0("未能创建工具栏\n");  
  return   -1;             //   未能创建  
  }  
  后面添加:  
  CToolBarCtrl   &pTool   =   m_wndToolBar.GetToolBarCtrl();  
  TBBUTTON tButton;  
  ZeroMemory(&tButton,   sizeof(TBBUTTON));  
  tButton.fsStyle   =   TBSTYLE_SEP;  
  tButton.idCommand   =   IDC_EDITBOX;  
  pTool.InsertButton(pTool.CommandToIndex(ID_FILE_PRINT),   &tButton);  
  CRect rcButton;  
  pTool.GetItemRect(pTool.CommandToIndex(IDC_EDITBOX),   rcButton);  
  int   nWidth   =   200;  
  for   (int   i   =   0;   i   <   nWidth   /   rcButton.Width();   i++)  
  {  
  pTool.InsertButton(pTool.CommandToIndex(ID_FILE_PRINT),   &tButton);  
  }  
  pTool.InsertButton(pTool.CommandToIndex(ID_FILE_PRINT),   &tButton);  
  rcButton.right   +=   nWidth;  
  m_Edit.CreateEx(WS_EX_CLIENTEDGE,   "EDIT",   "Editbox",   WS_VISIBLE   |   WS_CHILD,   rcButton,   &pTool,   IDC_EDITBOX);  
  这里:IDC_EDITBOX是你的Edit   Box的控件ID,可以在资源编辑器里添加;nWidth是要添加的编辑框的宽度;ID_FILE_PRINT是要添加的编辑框的位置后面的按钮ID。  
  Top

4 楼Mackz(在相互)回复于 2005-04-02 23:53:35 得分 0

其实所有控件都可以按照这个方法添加到工具栏里。  
  Top

5 楼Mackz(在相互)回复于 2005-04-03 00:11:17 得分 0

再说一下这样添加的编辑框消息的处理:  
  BOOL   CMainFrame::PreTranslateMessage(MSG*   pMsg)  
  {  
  //   TODO:   在此添加专用代码和/或调用基类  
  HWND hEdit   =   m_wndToolBar.GetDlgItem(IDC_EDITBOX)->GetSafeHwnd();  
  if   (pMsg->hwnd   ==   hEdit)  
  {  
  if   (pMsg->message   ==   WM_KEYDOWN   &&   pMsg->wParam   ==   VK_RETURN)  
  {  
  CString strEdit;  
  m_wndToolBar.GetDlgItem(IDC_EDITBOX)->GetWindowText(strEdit);  
  AfxMessageBox(strEdit);//这里得到编辑框的内容随便怎么搞了。  
  }  
  }  
   
  return   CFrameWnd::PreTranslateMessage(pMsg);  
  }  
  Top

6 楼hyb1011(村人)回复于 2005-04-03 21:23:03 得分 0

好的~谢谢Top

相关问题

  • 请教在工具栏上放静态文本框的问题```
  • 300分提问,怎样在IE的工具栏中加入自已的工具栏?就像vivi.sina.com.cn的工具栏!
  • 如何在工具栏中加图!
  • 怎样在工具栏中加入COMBOBOX?
  • 怎么在工具栏中加入Edit?
  • 窗体中怎样加入工具栏?
  • 怎样在工具栏中加入toolbutton ?
  • SDK中如何添加工具栏
  • 如何将QuickReport 加入工具栏中
  • 关于在工具栏上放多个静态文本框的问题``

关键词

  • idc
  • ptool
  • 工具栏
  • cbrs
  • wndtoolbar
  • tbutton
  • pmsg
  • editbox

得分解答快速导航

  • 帖主:hyb1011
  • psbeond
  • virtualfunction
  • Mackz

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo