VC++定制状态栏的方法
2009-03-16 22:55
295 查看
在String Table中加入一个新ID:ID_INDICATOR_COIN,Caption为“硬币数量”。
2、 在MainFrm.cpp中的静态数组indicator中将上面的ID加入:
static UINT indicators[] =
{
ID_SEPARATOR, //// status line indicator
ID_INDICATOR_COIN,////显示硬币数量指示器
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
3、 修改OnDraw函数:
void CDrawCoinView::OnDraw(CDC* pDC)
{
CDrawCoinDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
for(int i=0;i<pDoc->m_nCoins;i++)
{
int y=200-10*i;
pDC->Ellipse(200,y,300,y-30);
pDC->Ellipse(200,y-10,300,y-35);
}
CString strCoins;
//先获得主窗口指针,再获得状态栏指针
CStatusBar *pStatus=(CStatusBar *)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);
if(pStatus)
{
strCoins.Format("硬币:%d",pDoc->m_nCoins);
pStatus->SetPaneText(1,strCoins);
}
}
2、 在MainFrm.cpp中的静态数组indicator中将上面的ID加入:
static UINT indicators[] =
{
ID_SEPARATOR, //// status line indicator
ID_INDICATOR_COIN,////显示硬币数量指示器
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
3、 修改OnDraw函数:
void CDrawCoinView::OnDraw(CDC* pDC)
{
CDrawCoinDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
for(int i=0;i<pDoc->m_nCoins;i++)
{
int y=200-10*i;
pDC->Ellipse(200,y,300,y-30);
pDC->Ellipse(200,y-10,300,y-35);
}
CString strCoins;
//先获得主窗口指针,再获得状态栏指针
CStatusBar *pStatus=(CStatusBar *)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);
if(pStatus)
{
strCoins.Format("硬币:%d",pDoc->m_nCoins);
pStatus->SetPaneText(1,strCoins);
}
}
相关文章推荐
- VC++对话框中添加状态栏的方法
- VC添加状态栏的方法
- VC定制个性化的MessageBox解决方法
- VC++对话框中添加状态栏的方法
- VC++对话框中添加状态栏的方法
- VC++对话框中添加状态栏的方法
- VC++对话框中添加状态栏的方法
- VC++对话框中添加状态栏的方法
- VC++定制状态栏
- VC++对话框中添加状态栏的方法
- StatusBar on Dialogs-在VC中为作为主窗口的对话框添加状态栏的几种方法
- vc++中获取鼠标的坐标值于状态栏中的四种方法
- [转]VC: 对话框中添加状态栏的方法
- tableView的单元格的定制的方法
- VC++实现获取文件占用空间大小的两种方法(非文件大小)
- 解决VC几个编译问题的方法——好用
- [BLOG] 我的Blog定制效果和方法
- VC中动态加载ODBC解决方法
- VC++实现非窗口类中使用定时器的方法
- 自定制的日志收集系统和方法