扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:blog 2007年11月14日
关键字: Visual C++ 2005 图像编程 属性设置栏
工具箱含有选择、填充、画线等功能。使用这些工具时有的需要设置填充风格和线条的大小。为了方便用户操作,实现更简易的UI,实现了属性工具栏。属性栏需要添加的主要功能有2个显示文字的静态文本框和2个组合框。
添加属性栏控件,需要先通过资源编辑器在相应的位置上建立四个对应的工具栏按钮,对于没有接触过Visual C++ 2005的朋友可能会找不到按钮的属性编辑器。在Visual C++ 6.0中是回车(右键)弹出对话框设置的。默认情况下,在工具栏右边可以打开属性设置对话框。注意下图中红色数字的位置就是我们创建静态文本框和组合框的位置。
图2-1 |
class CToolBoxPropBar { ………………//省略部分代码 CStatic m_Static; CStatic m_Static2; CComboBox m_BrushStyle; CComboBox m_BrushSize; void CreateSubControl(); }; |
void CToolBoxPropBar:: CreateSubControl () { HGDIOBJ hFont = GetStockObject( DEFAULT_GUI_FONT ); //取默认GUI字体 CFont font; font.Attach( hFont ); //将IDC_1(图2-1中数字1按钮的ID)按钮设置为分隔条 int nIndex = GetToolBarCtrl().CommandToIndex(IDC_1); SetButtonInfo(nIndex, IDC_1, TBBS_SEPARATOR, 60); //60表示控件的宽度 RECT rect; GetItemRect(nIndex, &rect); m_Static.Create(_T("填充风格:"), WS_CHILD|WS_VISIBLE, rect, this, IDC_STATIC); m_Static.SetFont(&font); nIndex = GetToolBarCtrl().CommandToIndex(IDC_2); SetButtonInfo(nIndex, IDC_2, TBBS_SEPARATOR, 100); GetItemRect(nIndex, &rect); m_BrushStyle.Create("", WS_CHILD|WS_VISIBLE, rect, this, ID_COMBOBOX_STYEL); nIndex = GetToolBarCtrl().CommandToIndex(IDC_3); SetButtonInfo(nIndex, IDC_3, TBBS_SEPARATOR, 60); GetItemRect(nIndex, &rect); m_Static2.Create(_T("画刷大小:"), WS_CHILD|WS_VISIBLE|, rect, this, IDC_3); m_Static2.SetFont(&font); nIndex = GetToolBarCtrl().CommandToIndex(IDC_4); SetButtonInfo(nIndex, IDC_4, TBBS_SEPARATOR, 50); GetItemRect(nIndex, &rect); m_BrushSize.Create("", WS_CHILD|WS_VISIBLE, rect, this, ID_COMBOBOX_WIDTH); m_BrushSize.SetFont(&font); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者