当前位置:文档之家› VC++实现对话框工程中添加菜单

VC++实现对话框工程中添加菜单

dwFontColor = stCF.rgbColors; wsprintf(szBuffer, "您的选择\n 字体名称:%s\n 字体颜色值:%08x\n 字体大小:%d",
stLogFont.lfFaceName, dwFontColor, stCF.iPointSize); MessageBox(szBuffer, "执行结果", MB_OK); } -----------------------------------------------------------------------------(5)颜色 -----------------------------------------------------------------------------源代码 CHOOSECOLOR stCC; COLORREF dwBackColor = RGB(0, 0, 0); COLORREF dwCustColors[16];
1.1 获取文件路径名: char szFileName[MAX_PATH] = "";//必须初始化
stOF.lpstrFile = szFileName; stOF.nMaxFile = MAX_PATH;// 必须和上面一起
1.2 标志: OFN_ALLOWMULTISELECT –允许选择多个文件名
wsprintf(szBuffer, "您选择的打印机:%s", GlobalLock(stPS.hDevMode)); MessageBox(szBuffer,"执行结果", MB_OK); }
-----------------------------------------------------------------------------(4)字体 -----------------------------------------------------------------------------源代码
char szBuffer[1024] = ""; RtlZeroMemory(&stCC, sizeof(stCC)); stCC.lStructSize = sizeof(stCC); stCC.hwndOwner = NULL; stCC.rgbResult = dwBackColor; stCC.Flags = CC_RGBINIT|CC_FULLOPEN; stCC.lpCustColors = dwCustColors; if (ChooseColor(&stCC)) {
ቤተ መጻሕፍቲ ባይዱif (GetOpenFileName(&stOF) != NULL)
{
MessageBox(szFileName, "执行结果", MB_OK);
}
------------------------------------------------------------------------------
此时就可以了. 方法二: 不用方法一,直接添加代码完成上述功能. 添加代码到 DialogDlg ::OnInitDialog 中 CMenu *menu = new CMenu; menu ->LoadMenu(MAKEINTRESOURCE(IDR_MENU)); //IDR_MENU 菜单 ID this ->SetMenu(menu); 或者 Cmenu m_menu; m_menu.LoadMenu(IDR_MENU); SetMenu(&m_menu); 此时结果如下图
CHOOSEFONT stCF; char szBuffer[1024] = ""; LOGFONT stLogFont = {5}; COLORREF dwFontColor = RGB(0, 0, 0); RtlZeroMemory(&stCF, sizeof(stCF)); stCF.lStructSize = sizeof(stCF); stCF.hwndOwner = NULL; stCF.lpLogFont = &stLogFont; stCF.rgbColors = dwFontColor; stCF.Flags = CF_SCREENFONTS|CF_INITTOLOGFONTSTRUCT|CF_EFFECTS; if (ChooseFont(&stCF) != NULL) {
源程序:
char szFileName[MAX_PATH] = "";
OPENFILENAME stOF;
//必须的
RtlZeroMemory(&stOF,sizeof(stOF));//必须的
stOF.lStructSize = sizeof(stOF); //必须的
stOF.hwndOwner = NULL;
(2)文件另存为
------------------------------------------------------------------------------
源代码: OPENFILENAME stOF;
char szFileName[MAX_PATH] = ""; memset(&stOF, 0, sizeof(OPENFILENAME)); stOF.lStructSize = sizeof(stOF); stOF.hwndOwner = NULL; stOF.lpstrFilter = "Text Files(*.txt)\0 *.txt\0 All Files"; stOF.lpstrFile = szFileName; stOF.nMaxFile = MAX_PATH; stOF.Flags = OFN_PATHMUSTEXIST; stOF.lpstrDefExt = "txt"; stOF.lpstrTitle = "请输入保存的文件名"; if (GetSaveFileName(&stOF) != NULL) {
VC++对话框程序中添加菜单 在 VC 中创建一个基于对话框的 MFC 程序,要在其中添加菜单总共分三步:
1、首先插入一个菜单资源 IDR_MENU1,然后可以编辑修改菜单;
2、 然后在为对话框添加一个 CMenu 类型的成员变量 m_Menu;
3、在 OnInitDialog()中添加如下的代码:
stOF.lpstrFilter = "Text Files(*.txt)\0 *.txt\0 All Files";
stOF.lpstrFile = szFileName;
stOF.nMaxFile = MAX_PATH;
stOF.Flags = OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST;
OFN_PATHMUSTEXIST -输入文件名时,路径必须存在
OFN_READONLY -对话框中的“以只读方式打开”复选框初始化的时候处于选中状态
------------------------------------------------------------------------------
m_Menu.LoadMenu(IDR_MENU1);//载入菜单
SetMenu(&m_Menu);
//显示菜单
经过这三步以后菜单就可以显示出来了。
MFC 对话框工程中添加菜单(VC++ 6.0 编译器)
MFC 对话框工程中添加菜单(VC++ 6.0 编译器) 第一步:创建对话框资源和菜单资源. 第二步:添加菜单到对话框中 方法一: 在创建的对话框中右键,在 Menu 选项选择自己的菜单 ID 如下图
最后在添加菜单到对话框类中,实现其各种功能. 下面是在上面的基础上实现的通用对话框空间的功能代码,方便以后开发使用. (1)打开文件对话框 条件: OPENFILENAME 结构体初始化
GetOpenFileName 函数调用
GetOpenFileName()通过 OPENFILENAME 这个结构体的大小来确定 windows 的版本的,初始化 这个结构体的大小是必须的. OPENFILENAME stOF 结构体必须清零.
dwBackColor = stCC.rgbResult; wsprintf(szBuffer, "您选择的颜色值:%08x", dwBackColor); MessageBox(szBuffer,"执行结果", MB_OK); }
MessageBox(szFileName, "执行结果", MB_OK); } -----------------------------------------------------------------------------(3)页面设置对话框 -----------------------------------------------------------------------------源代码 PAGESETUPDLG stPS; char szBuffer[1024] = ""; RtlZeroMemory(&stPS, sizeof(stPS)); stPS.lStructSize = sizeof(PAGESETUPDLG); stPS.hwndOwner = NULL; if (PageSetupDlg(&stPS) && stPS.hDevMode) {
OFN_CREATEPROMPT -如果输入不存在的文件名,对话框提问“是否建立文件”
OFN_FILEMUSTEXIST -只能选择一个已经存在的文件名,必须使用 OFN_PATHMUSTEXIST
相关主题