对话框的状态栏问题 我建立了一个基于对话框的mfc,现在需要加一个状态栏,并且状态栏要随主窗口变化而变化,例如主窗口最大化时,状态栏在底部,则主窗口变化时,状态栏始终在主窗口底部....希望各位兄弟姐妹帮帮忙,贴个代码,不要代码地址 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 .H中:class CUSDLG : public CDialog{public: CStatusBar m_dlgStatusBar; //... ...}.CPP中:static UINT indicators[] ={ IDS_panel1, //在StringTalbe里面添加 IDS_panel2, ID_SEPARATOR, ID_SEPARATOR, ID_SEPARATOR,};BOOL CUSDLG::OnInitDialog(){ //... ... if (!m_dlgStatusBar.Create(this) || !m_dlgStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)) ) { TRACE0("Failed to create status bar\n"); return -1; } m_dlgStatusBar.SetPaneInfo(0,IDS_panel1,SBPS_NORMAL,30); m_dlgStatusBar.SetPaneInfo(1,IDS_panel2,SBPS_NORMAL,30); m_dlgStatusBar.SetPaneInfo(3,ID_SEPARATOR,0,35); //设置新增窗格1的宽度 m_dlgStatusBar.SetPaneInfo(4,ID_SEPARATOR,0,50); //设置新增窗格2的宽度 CRect rect; GetClientRect(rect); //获得客户区的大小 m_dlgStatusBar.MoveWindow(0, rect.bottom-20, rect.right, 20); //... ...}void CUSDLG::OnSize(UINT nType, int cx, int cy) //主要是这个函数里面要对状态条位置进行改变。{ if( this->m_hWnd && m_dlgStatusBar.m_hWnd ) { CRect rect; GetClientRect(rect); //获得客户区的大小 m_dlgStatusBar.MoveWindow(0, rect.bottom-20, rect.right, 20); } CDialog::OnSize(nType, cx, cy);} 求教高手个 窗口居中 问题 高手指点指点~ CTreeCtrl如何实现只有子结点才有checkbox?? [求助]基于非模态对话框的应用程序如何中止?! 第一次来vc版,请各位达人指导一下,顺便散点分 DLL本身编译时可否设置静态链接 菜鸟问:软件接口的概念? [灌水]超NB的有钱人[完整恶搞版] 有没有人知道Crystal Report的文件格式。 如何让共享软件的代售者通过网页自动产生注册码? 设置编辑框的文字,很奇怪 新手.问个使用ALT或ACTIVEX操作注册表的问题
class CUSDLG : public CDialog
{public:
CStatusBar m_dlgStatusBar;
//... ...
}
.CPP中:
static UINT indicators[] =
{
IDS_panel1, //在StringTalbe里面添加
IDS_panel2,
ID_SEPARATOR,
ID_SEPARATOR,
ID_SEPARATOR,
};BOOL CUSDLG::OnInitDialog()
{
//... ...
if (!m_dlgStatusBar.Create(this) || !m_dlgStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)) )
{
TRACE0("Failed to create status bar\n");
return -1;
} m_dlgStatusBar.SetPaneInfo(0,IDS_panel1,SBPS_NORMAL,30);
m_dlgStatusBar.SetPaneInfo(1,IDS_panel2,SBPS_NORMAL,30);
m_dlgStatusBar.SetPaneInfo(3,ID_SEPARATOR,0,35); //设置新增窗格1的宽度
m_dlgStatusBar.SetPaneInfo(4,ID_SEPARATOR,0,50); //设置新增窗格2的宽度 CRect rect;
GetClientRect(rect); //获得客户区的大小
m_dlgStatusBar.MoveWindow(0, rect.bottom-20, rect.right, 20);
//... ...
}void CUSDLG::OnSize(UINT nType, int cx, int cy) //主要是这个函数里面要对状态条位置进行改变。
{
if( this->m_hWnd && m_dlgStatusBar.m_hWnd )
{
CRect rect;
GetClientRect(rect); //获得客户区的大小
m_dlgStatusBar.MoveWindow(0, rect.bottom-20, rect.right, 20);
}
CDialog::OnSize(nType, cx, cy);
}