? void CFontDialog::GetCurrentFont( LPLOGFONT lplf );用来获得所选字体的属性。
该函数有一个参数,该参数是指向LOGFONT结构的指针,函数将所选字体的各种属性写入这个LOGFONT结构中。
?
?
?
? CString CFontDialog::GetFaceName( ) 得到所选字体名字。 int CFontDialog::GetSize( ) 得到所选字体的尺寸(以10个象素为单位)。 COLORREF CFontDialog::GetColor( ) 得到所选字体的颜色。 BOOL CFontDialog::IsStrikeOut( )
BOOL CFontDialog::IsUnderline( )
BOOL CFontDialog::IsBold( )
BOOL CFontDialog::IsItalic( )
5.8 建立以对话框为基础的应用
我认为初学者使用以对话框为基础的应用是一个比较好的选择,因为这样一来可以摆脱一些开发界面的麻烦,此外也可以利用ClassWizard自动的添加消息映射。
在VC中提供了生成“以对话框为基础的应用”的功能,你所需要选择的是在使用AppWizard的第一步选择“对话框为基础的应用”,如图。VC会生成包含有应用派生类和对话框派生类的代码。在应用类的InitInstance()成员函数中可以看到如下的代码:
BOOL CMy58_s1App::InitInstance()
{
CMy58_s1Dlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is // dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is // dismissed with Cancel
}
return FALSE;
}
同样基于对话框的应用也同样可以使用属性对话框做为界面,或者是通过使用经过派生的通用对话框作为界面。
提示:当你使用有模式对话框时最开始是无法隐藏窗口的,而只能在对话框显示后再隐藏窗口,所以这会造成屏幕的闪烁。一个解决办法就是采用无模式的对话框,无模式的对话框在创建后是隐藏的,直到你调用ShowWindow(SW_SHOW)才会显示。相关代码如下: BOOL CMy58_s1App::InitInstance()
{
//必须新生成一个对象,而不能使用局部变量
CMy58_s1Dlg* pdlg=new CMy58_s1Dlg;
} m_pMainWnd = pdlg; pdlg->Create(); return TRUE;
5.9 使用对话框作为子窗口
使用对话框作为子窗口是一种很常用的技术,这样可以使界面设计简化而且修改起来更加容易。
int CMy59_s1View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
//创建子窗口
m_dlgChild.Create(IDD_CHILD_DLG,this);
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-35251-48.html
是狗天性多自负
智者务其实