MFC 隐藏主窗体

BOOL CMFCApplicationTimerTestApp::InitInstance()
{
    // 如果一个运行在 Windows XP 上的应用程序清单指定要
    // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
    //则需要 InitCommonControlsEx()。  否则,将无法创建窗口。
    INITCOMMONCONTROLSEX InitCtrls;
    InitCtrls.dwSize = sizeof(InitCtrls);
    // 将它设置为包括所有要在应用程序中使用的
    // 公共控件类。
    InitCtrls.dwICC = ICC_WIN95_CLASSES;
    InitCommonControlsEx(&InitCtrls);

    CWinApp::InitInstance();

    AfxEnableControlContainer();

    // 创建 shell 管理器,以防对话框包含
    // 任何 shell 树视图控件或 shell 列表视图控件。
    CShellManager *pShellManager = new CShellManager;

    // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));

    // 标准初始化
    // 如果未使用这些功能并希望减小
    // 最终可执行文件的大小,则应移除下列
    // 不需要的特定初始化例程
    // 更改用于存储设置的注册表项
    // TODO:  应适当修改该字符串,
    // 例如修改为公司或组织名
    SetRegistryKey(_T("应用程序向导生成的本地应用程序"));

    //CMFCApplicationTimerTestDlg dlg;
    //m_pMainWnd = &dlg;
    //
    //INT_PTR nResponse = dlg.DoModal();
    //if (nResponse == IDOK)
    //{
    //    // TODO:  在此放置处理何时用
    //    //  “确定”来关闭对话框的代码
    //}
    //else if (nResponse == IDCANCEL)
    //{
    //    // TODO:  在此放置处理何时用
    //    //  “取消”来关闭对话框的代码
    //}
    //else if (nResponse == -1)
    //{
    //    TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n");
    //    TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n");
    //}
    CMFCApplicationTimerTestDlg *dlg = new CMFCApplicationTimerTestDlg;
    m_pMainWnd = dlg;

    return dlg->Create(IDD_MFCAPPLICATIONTIMERTEST_DIALOG);
    // 删除上面创建的 shell 管理器。
    //if (pShellManager != NULL)
    //{
    //    delete pShellManager;
    //}

    // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
    //  而不是启动应用程序的消息泵。
    //return FALSE;
}
时间: 2024-10-16 03:22:19

MFC 隐藏主窗体的相关文章

winform新窗体打开同时隐藏主窗体

我的思路是将窗体作为参数来传递 private void button1_Click(object sender, EventArgs e){Form2 f = new Form2(this);f.Show();this.Hide();} form2中代码private Form parent;public Form2(System.Windows.Forms.Form f){InitializeComponent();this.parent = f;}private void button1_

C# WinForm下,隐藏主窗体的方法

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace GetHTMLContent { public partial class Form1 : Form { pub

C# Winform 登陆窗体跳转到主窗体,登陆窗体隐藏

不多说,直接上代码: //Login窗体隐藏 Login.Hide(); //声明主窗体 Main main = new Main(); //主窗体显示 main.ShowDialog(); //Login窗体关闭 this.Close(); 菜鸟整理,大虾勿喷,希望大虾不吝指教.

不存在的主窗体(自始至终隐藏)

最近做一个小程序 没有固定的主窗体,流程随机性比较大 所以找寻相应的方案 解决方法如下 1 program Project1; 2 3 uses 4 Forms, 5 Unit1 in 'Unit1.pas' {Form1}, 6 Unit2 in 'Unit2.pas' {Form2}; 7 8 {$R *.res} 9 10 begin 11 Application.Initialize; 12 Application.MainFormOnTaskbar := True; 13 Applic

API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别

[原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface.Windows操作系统提供给应用程序编程的接口, 简称 为API函数. Win32 SDK:SDK(Software Development Kit)中文是软件开发包.则Win32 SDK是Windows 32位平台下的软件开发包,包括了API函数.帮助文档.微软 提供的一些辅助开发工具. Win3

C#实现类似QQ的隐藏浮动窗体、消息闪动

功能简介 当语音客服系统登录成功进入主界面时,本聊天工具将会自动隐藏在左下角位置,当鼠标移动到左下角时,自动弹出,当鼠标移开聊天窗体时,自动隐藏.如果想让聊天窗体固定在桌面,只要拖动一下聊天窗口,让它不停留在边界位置就可以了.隐藏和悬浮方式类型QQ. 1. 系统主界面 当点击最小化按钮时, 在电脑右下角会显示任务图标,点击任务图标,将会在左下角位置弹出. 主界面各部分介绍: a) 消息列表:该区域的功能主要是显示消息记录. b) 发送消息:输入要发送的消息进行发送,默认群聊,输入消息后,按回车键

主窗体和继承窗体

程序将第一个创建的窗体作为主窗体.如果创建了一个后,在其他窗体尚未创建的时候便释放调,此时又创建了一个窗体,那么第二次创建的窗体就会变成主窗体了. 关闭主窗体,程序就认为是终止运行,并且调用 Free 释放掉主窗体资源,进而程序结束退出.而关闭其他非主窗体,程序只是将其隐藏起来了. 子窗体会将主窗体的属性方法继承下来,对于主窗体中手动增加的方法(即声明在访问控制级别private.protected.published.public 中的方法),除非显示的增加 virtual 关键字,并在子类中

WinForm 之 程序启动不显示主窗体

在 WinForm 程序启动时,不显示主窗体的实现方法主要有以下5种,第五种最简单,而且效果也不错,第四种方法也值得推荐. 实例代码如下: //隐藏窗体的方法1/5:不指定任何窗体为主窗体 //注意:通常,在一个程序中,关闭主窗体,就可以关闭应用程序. //但是在没有主窗体中,不行. //只能使用Application.Exit()才能关闭应用程序. //using可以保证Application结束前,关闭MyMainForm using (new Form1()) { Application.

MFC获得主窗体和父窗体指针

MFC编程中经常遇到子窗体向父窗体传递參数的情况,这就须要获得父窗体的指针. 例:主对话框CMyMainDlg通过buttonButtonA进入对话框CMyParentDlg.CMyParentDlg在通过buttonButtonB进入对话框CMyChildDlg.如今须要在CMyChildDlg分别訪问CMyParentDlg和CMyMainDlg的内容.须要在CMyChildDlg中增加下面两条语句: CMyMainDlg    *pMMD = (CMyMainDlg*)AfxGetMain