MFC对话框如何运行后隐藏起来

一般初学者会简单的认为在初始化对话框中ShowWindow(SW_HIDE);不就可以了吗?但其实那样是不行的,因为MFC中对话框的初始化显示其实很复杂,并不像SDK中的ShowWindow那么简单。下面介绍几种方法来达到运行后立刻隐藏。

1.使用MoveWindow

    //在初始化对话框中使用
    MoveWindow(0, 0, 0, 0);

注意:这个把对话框变没了,所以你点击任务栏程序图标的时候是不会有对话框出来的.

2.使用定时器

    //在初始化对话框中使用
    SetTimer(0, 1, NULL);//运行后1ms就隐藏,连任务栏上的 图标都没有了

......
    //在定时器函数中写如下代码
    ShowWindow(SW_HIDE);
    KillTimer(0);

3.WINDOWPLACEMENT 窗口状态声明结构体

    //在初始化对话框中写如下代码
    WINDOWPLACEMENT wpf = { 0 };
    wpf.length = sizeof(WINDOWPLACEMENT);//这个必须要写,否则SetWindowPlacement会失败
    wpf.showCmd = SW_HIDE;//窗口状态为隐藏
    SetWindowPlacement(&wpf);//设置窗口状态

你可能感兴趣的:(mfc,sdk,对话框,隐藏对话框)