博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC-单文档-状态栏中添加按钮的实现
阅读量:5366 次
发布时间:2019-06-15

本文共 1426 字,大约阅读时间需要 4 分钟。

需求:单文档中,默认的状态栏是分隔开来的,而且是无法点击的。现需要在状态栏上添加一个按钮,并实现点击按钮删除按钮上文本的功能。

实现步骤:

第一步,先在初始化的时候,动态创建一个按钮。

1 CButtonST        m_btnStatusBarErrorTips;//状态栏上的错误提示

CButtonST是一个button的实现类,可自行百度。(可参考http://www.cnblogs.com/lidabo/archive/2012/12/17/2821122.html)

1 void HelloBtn::SetNormalBtnStatus(CWnd*pWnd,CButtonST* pBtn,int nBmpIn,int nBmpOut,int nWidthOffset,int nHeightOffset) 2 { 3     CRect rect; 4  5     //设置按钮 6     pBtn->GetWindowRect(&rect); 7     pWnd->ScreenToClient(&rect); 8     rect.right = rect.left + nWidthOffset; 9     rect.bottom= rect.top  + nHeightOffset;10     pBtn->MoveWindow(&rect);11     pBtn->SetAlign(CButtonST::ST_ALIGN_OVERLAP);12     pBtn->SetBitmaps(nBmpIn,RGB(255,255,255),nBmpOut,RGB(255,255,255));    13 }

开始创建按钮

1 //添加状态栏错误提示按钮2     m_btnStatusBarErrorTips.Create(_T(""), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,3         CRect(900,0,600,20), &m_wndStatusBar, ID_BUTTON_ERROR_TIPS);4     m_btnStatusBarErrorTips.SetFont(&m_font);5     m_btnStatusBarErrorTips.SetAlign(CButtonST::ST_ALIGN_HORIZ_RIGHT);6     m_btnStatusBarErrorTips.SetTheTextColor(RGB(255,0,0));

 

第二步,初始化状态栏时,设置按钮背景图

1 HELLOBTN.SetNormalBtnStatus(this,&m_btnStatusBarErrorTips,IDB_BMP_ERROR_TIPS,IDB_BMP_ERROR_TIPS,600,20);

 

第三步,给按钮添加响应函数,这个步骤就不细说了,很简单。

 然后初始化状态栏即可。(具体实现步骤可参考我其他的随笔)

总结:总的来说,要想在状态栏添加按钮,首先要将按钮作为状态栏的子控件创建出来。然后再根据需要添加按钮的位置,对按钮进行步骤,修饰和响应的实现。

缺陷:目前还未实现将按钮的文本左对齐处理,若后期有处理,再进行说明。

转载于:https://www.cnblogs.com/cwj976277916/p/10670599.html

你可能感兴趣的文章
【svn】idea svn 文件上会出现一个破书
查看>>
cocos2d-x 3.0 场景切换特效汇总(转)
查看>>
The SortedMap Interface
查看>>
SniperOJ-leak-x86-64
查看>>
bzoj 4260: Codechef REBXOR (01 Trie)
查看>>
学好python
查看>>
css-IE中的border-radius和box-shadow
查看>>
利用bootstrap和webform的异步CRUD及分页
查看>>
HDUOJ 1879继续畅通工程(并查集)
查看>>
OC12_自动释放池
查看>>
Saiku资源帖
查看>>
解决手机页面中点击文本框,网页放大问题
查看>>
2-5
查看>>
牛客多校3 A-PACM Team(状压降维+路径背包)
查看>>
HDU - 4284 Travel(floyd+状压dp)
查看>>
1027 制作表格
查看>>
Android之Socket通信、List加载更多、Spinner下拉列表
查看>>
面向对象的介绍与特性
查看>>
typing-python用于类型注解的库
查看>>
20189215 2018-2019-2 《密码与安全新技术专题》第13周作业
查看>>