eDialog 的一些成员函数获得对话框的选择。
? GetFileExt():获得选定文件的后缀名。
? GetFileNcom():获得选定文件的名称,包括后缀名。
? GetFileTitle():获得选定文件的标题,即不包括后缀名。
? GetFolderPath():获得选定文件的目录。
? GetNextPathNcom():获得下一个选定的文件的路径全名。
? GetPathNcom():获得选定文件的路径全名。
? GetReadOnlyPref():获得是否“以只读方式打开”。
? GetStartPosition():获得文件名列表中的第一个元素的位置。
4.5.5 字体对话框
字体对话框用于选择字体,如图4-31 所示。CFontDialog 封装了字体对话框的cāo作,其
使用方法类似于其他模态通用对话框。
图4-31 字体对话框
相关代码在CGridDemoView::OnSetFont()函数中,添加步骤如下:
(1)添加CGridDemoView::OnSetFont()消息处理函数。
CGridDemoView::OnSetFont()函数是“编辑|字体”菜单的消息处理函数,对应ID 为
ID_SET_FONT。用户需要按照第3 章的讲解,在“编辑”顶层菜单中添加标题为“字体”,
ID 为ID_SET_FONT 的子菜单,然后为CGridDemoView 类添加这个ID 的消息处理函数,即
OnSetFont()。
(2)编辑CGridDemoView::OnSetFont()消息处理函数使用字体对话框。代码如下:
void CGridDemoView::OnSetFont()
{
// TODO: Add your command handler code here
//获得选中单元格的旧字体
CFont *pFont=m_CellArray[m_nCurCellID].GetFont();
LOGFONT lf;
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·96·
if (pFont != NULL)
pFont->GetObject(sizeof(LOGFONT), &lf);
else //单元格使用默认字体
::GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
//使用选择字体对话框
CFontDialog dlg(&lf, CF_SCREENFONTS|CF_INITTOLOGFONTSTRUCT);
if (dlg.DoModal()==IDOK)
{
//设置新字体
m_CellArray[m_nCurCellID].SetFont(&lf);
}
}
4.5.6 颜色对话框
当需要选择颜色的时候就可以