让你的VC软件界面更漂亮
看了上面两图你是不是对VC有信心了?Visual C++ 可实现你想要的统一风格界面。请看如何实现:
1.首先要建立漂亮界面主窗口。它也是一个对话框,方法前文有介绍。
2.处理漂亮界面主窗口的OnInitDialog()函数。很重要!
BOOL CTitleBarDlg::OnInitDialog()
{
//此处 不能修改和添加代码!因为其它对话框的OnInitDialog()要用到
m_ToolTip.Create(this,TTS_ALWAYSTIP);//Create提示
m_ReSizeFlag = TRUE;
CRect rtWnd;
GetClientRect(&rtWnd);
m_OldWidth = rtWnd.Width();
m_OldHeight = rtWnd.Height();
OldPoint.x = rtWnd.Width();
OldPoint.y = rtWnd.Height();
if(!m_BaseFlag)
{
m_BaseFlag = TRUE;
CDialog::OnInitDialog();
//************************************
你只能在处修改和添加你所需主窗口初始化的代码……
//************************************
}
return TRUE;
}
3.建立你的对话框和对话框类。
用对话框资源编辑器完成对话框模板。用ClassWizard生成CyourDlg类此时基类只能为CDialog.
4.修改基类CDialog为漂亮界面类(CtitleBarDlg)
yourDlg.h yourDlg.cpp 内的CDialog都要改,用Edit/Replace功能快些且安全。
在yourDlg.h还要包括TitleBarDlg.h
注意:对话框构造函数第一个参数CtitleBarDlg nID 要删除。否则通Build通不过。
5. 显示你的窗口
//显示代码
CyouDlg *pMyDlg;
pMyDlg = new CyouDlg;
pMyDlg->Create(IDD_YOUR_DLG);
pMyDlg->ShowWindow(SW_SHOW);
这种代码要在适当的时候delete pMyDlg,防内存泄露。由于 pMyDlg没有定义为全局,处理它有一定难度。如果是用DoModal()显示就好了,大家可以去试一下。解决了告诉我!
6. 完成编译运行。你的对话框的风格是不是和主窗口一样,有没显示出来?