干掉你的状态条(Not no statusbar)!!!

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 111222 的 blog

疑问:干掉状态条之后,操作提示信息显示在哪?

答曰:自己造一个。

开工--------

-----------------------------------------------------------------------------

把你的mainframe里的

cstatusbar  m_wndstatusbar

改为

cedit m_wndstatusbar

然后,深入mainframe::oncreate函数-------

将类似下面的状态条创建语句

if (!m_wndstatusbar.create(this,cbrs_top|ws_child|ws_visible,afx_idw_status_bar ) ||
  !m_wndstatusbar.setindicators(indicators,
    sizeof(indicators)/sizeof(uint)))
 {
  trace0("failed to create status bar\n");
  return -1;      // fail to create
 }

改成 

if (!m_wndstatusbar.create(es_readonly | cbs_autohscroll | ws_child, crect(0, 0, 200, 18),this,afx_idw_status_bar))//注意是idw_status_bar
 {
  trace0("failed to create ceditstatusbar\n");
  return -1;      // fail to create
 }

为了使其显示,我又做了一个

crebar m_wndrebar,

m_wndrebar.create(this);之后

利用m_wndrebar.addbar(&m_wndstatusbar);

把“状态条”显示在rebar里,后面的我也没有进行修饰、、

如果你不创建rebar将不能使ceditstatus显示...

----------------------------------------------------

大功告成:)自制的简易状态条做成了,你还可以自己继承cedit实现漂亮的状态条、还可以使用ccombox、cricheditctrl、cstatic等等,总之是依靠wm_settext显示文字的控件都可以。

道理?status是接收mainframe的wm_settext消息显示状态.我们模拟一个就ok!

本文关键:状态条 status
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top