荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Second (石开), 信区: Program
标 题: 如 何 在 应 用 程 序 中 不 加 载 菜 单、 工 具 条
发信站: 荔园晨风BBS站 (Wed Jun 6 07:20:35 2001), 转信
在 通 过AppWizard 生 成 的 具 有 窗 口 框 架 结 构 的 应 用 程 序(SDI 和MDI
) 中,MFC 类 库 已 为 我 们 加 载 上 了 菜 单( 包 括 一 个 系 统 菜 单)、 工
具 条 和 状 态 条。 但 有 时 由 于 特 殊 需 要, 我 们 可 能 希 望 在 自 己
的 应 用 程 序 中 事 先 不 加 载 菜 单、 工 具 条 和 状 态 条。 这 时 就 需
要 我 们 手 动 地 删 除 和 修 改 一 些 类 中 的 语 句。
打 开MainFrm.cpp 文 件, 使 用 工 具 条 上 的 函 数 下 拉 列 表 框 找 到OnCr
eate() 函 数。 按 照 下 述 程 序 注 释 掉 创 建 工 具 条 和 状 态 条 部 分 的
语 句。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
//在此处开始加注释符号
/* if (!m_wndToolBar.Create(this) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Remove this if you don't want tool tips or a resizeable toolbar
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle()
| CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
// TODO: Delete these three lines if you don't want the toolbar to be docka
ble
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
在处结束注释*/
return 0;
}
在MainFrm.cpp 文 件 中, 使 用 工 具 条 上 的 函 数 下 拉 列 表 框 找 到PreC
reateWindow() 函 数。 参 照 第 三 部 分 中 的 程 序, 加 入 特 定 的 窗 口 框
架 属 性, 不 妨 把cs.style 设 置 成 如 下 形 式, 即 不 加 载 系 统 菜 单。
// Create a window without min/max buttons,system menu, or sizable border
cs.style =WS_OVERLAPPED | WS_BORDER;
在 主 应 用 程 序, 即 含 有 定 义theApp 全 程 变 量 的.cpp 文 件 中, 使 用
工 具 条 上 的 函 数 下 拉 列 表 框 找 到InitInstance() 函 数。 在“pDocTem
plate = new CSingleDocTemplate” 一 句 中, 用NULL 替 换IDR_MAINFRAME。 如 下
段 程 序 所 示。
BOOL CYourMainApp::InitInstance()
{
//.....此处略去一部分无关语句
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
NULL, //IDR_MAINFRAME,
//用NULL替换IDR_MAINFRAME
RUNTIME_CLASS(CNoBarDoc),
RUNTIME_CLASS(CMainFrame),
// main SDI frame window
RUNTIME_CLASS(CNoBarView));
AddDocTemplate(pDocTemplate);
//.....此处略去一部分无关语句
}
找 到Visual C++ 编 辑 器 的 工 具 条 上 的 编 译 方 式 下 拉 列 表 框, 选 择
Win32 Release, 生 成Release 版 本 的 应 用 程 序。
---- 至 此, 我 们 就 得 到 了 不 含 菜 单、 工 具 条 和 状 态 条 结 构 的 应
用 程 序。
--
既然热爱生命
那么,
一切都在意料之中。
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.28.190]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店