BOOL C001Dlg::OnInitDialog()里的冲突怎么解决?
VC基于对话框界面,想在程序开始运行时,自动弹出一个登陆对话框,经过请教大虾们,得到了解决。BOOLCTry03Dlg::OnInitDialog(){...CTry03...
VC基于对话框界面,想在程序开始运行时,自动弹出一个登陆对话框,经过请教大虾们,得到了解决。
BOOL CTry03Dlg::OnInitDialog()
{
...
CTry03Dlg7 dlg;//新创建的登录窗口
if(dlg.DoModal() == IDOK)
return TRUE;
else
return FALSE;
}
但是我之前对该对话框的静态文本字体也有设置
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
cfont.CreateFont(28, //字体大小
0,0,0,FW_NORMAL,
FALSE,FALSE,
0,
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, "华文楷体");
CWnd* pWnd = GetDlgItem(IDC_STATIC);
pWnd->SetFont(&cfont);
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
于是我就把这两段代码合在一起了
BOOL CTry03Dlg::OnInitDialog()
{
CTry03Dlg7 dlg;//登录窗口
if(dlg.DoModal() == IDOK)
return TRUE;
else
return FALSE;
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
cfont.CreateFont(28, //字体大小
0,0,0,FW_NORMAL,
FALSE,FALSE,
0,
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, "华文楷体");
CWnd* pWnd = GetDlgItem(IDC_STATIC);
pWnd->SetFont(&cfont);
...(下略)
}
运行起来就出问题了,只运行弹出对话框部分,字体变化就完全没有了,我该怎么办呀???
望大虾们赐教!
谢谢~
不好意思哦,我是初学者,有点反应迟钝的说...
我的程序是这样的,在主对话框.cpp里的OninitDialog()里有一段对主对话框字体设置代码1,之后我想加个登陆窗口(对该对话框字体没有要求),照网友们讲的,要在主对话框的OninitDialog()里面加代码2,,所以在OninitDialog()里面有两段代码,相互冲突了,请教解决方法,请详细点的。
非常感谢你,谢谢谢谢啊~~~~~wo 展开
BOOL CTry03Dlg::OnInitDialog()
{
...
CTry03Dlg7 dlg;//新创建的登录窗口
if(dlg.DoModal() == IDOK)
return TRUE;
else
return FALSE;
}
但是我之前对该对话框的静态文本字体也有设置
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
cfont.CreateFont(28, //字体大小
0,0,0,FW_NORMAL,
FALSE,FALSE,
0,
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, "华文楷体");
CWnd* pWnd = GetDlgItem(IDC_STATIC);
pWnd->SetFont(&cfont);
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
于是我就把这两段代码合在一起了
BOOL CTry03Dlg::OnInitDialog()
{
CTry03Dlg7 dlg;//登录窗口
if(dlg.DoModal() == IDOK)
return TRUE;
else
return FALSE;
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
cfont.CreateFont(28, //字体大小
0,0,0,FW_NORMAL,
FALSE,FALSE,
0,
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, "华文楷体");
CWnd* pWnd = GetDlgItem(IDC_STATIC);
pWnd->SetFont(&cfont);
...(下略)
}
运行起来就出问题了,只运行弹出对话框部分,字体变化就完全没有了,我该怎么办呀???
望大虾们赐教!
谢谢~
不好意思哦,我是初学者,有点反应迟钝的说...
我的程序是这样的,在主对话框.cpp里的OninitDialog()里有一段对主对话框字体设置代码1,之后我想加个登陆窗口(对该对话框字体没有要求),照网友们讲的,要在主对话框的OninitDialog()里面加代码2,,所以在OninitDialog()里面有两段代码,相互冲突了,请教解决方法,请详细点的。
非常感谢你,谢谢谢谢啊~~~~~wo 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询