在CMyDocument中得到状态栏的指针后,是不是直接用SetPaneText()就可以在状态栏显示文字了?
解决方案 »
- 进程外COM组件崩溃 本地COM接口指针失效的问题
- 高手进,c++怎样获取webbrowser内,当前鼠标点击元素的html代码
- 【【前无古人,后无来者的问题】】 怎么实现单击按钮 使 树形控件图标闪烁?
- 请问:如何用C++实现对进程运行时间和占用内存的监控?
- 获取象素的RGB值
- 很基础的问题,请解答!
- 简单问题,按书的例题输入的,却不能运行???
- 放分:萦绕在心头的一个礼拜之久的问题,终于一扫而空!欢迎看过《COM原理与应用》的各位CSDN朋友,对自己理解第四章的接口聚合的实现机
- 有谁知道所有钩子的使用方法,或者知道哪里有下载的。请告诉我,100分相送。
- 急急急!!
- 我在OLE/COM Object Viewer 的COM Library Objects中看见的对象在vb中怎么没法创建
- 求教WSAIoctl函数使用
在doc中包含mainframe的头文件后用AfxGetMainWnd()并将这个指针强行转为CMainframe*
pFrame->m_wndStatusBar
pFrame->m_wndStatusBar
在CMyDoc::OnNewDocument()中加入CMainframe* pFrame=(CMainframe*)AfxGetMainWnd();
pFrame->m_wndStatusBar.SetPaneText(0,"Connecting to DB ");可是状态栏没有什么变化呀,还是“就绪”两个字
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
CStatusBar* pStatus;pStatus = (CStatusBar*)AfxGetApp()->m_pMainWnd->GetDescendantWindow
(AFX_IDW_STATUS_BAR)//获取状态栏窗口指针然后你再:
pStatus->SetPaneText(0,"Connecting to DB ");试试看
那是因为MFC的代码里面,把状态栏的默认得第一格的分格加上了SBPS_STRETCH,这样可以伸缩第一格,但是修改成你自己的之后就没有这个分格了,所以后面的pane都跑上前来了。你可以试试这个:
把它加在CMainFrame::OnCreate函数创建状态栏的后面
m_wndStatusBar.GetPaneInfo();
DWORD dwStyle = m_wndStatusBar.GetPaneStyle(2);
dwStyle |= SBPS_STRETCH | SBPS_NOBORDERS;
m_wndStatusBar.SetPaneStyle(0,dwStyle);