当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>Visual C++教程

创建不在任务条中显示窗口按钮的应用

    现在有很多应用程序都使用系统托盘区来放置图标,这时候如果窗口的按钮再出现在任务条中就显得有些多余。创建不在任务条中显示窗口按钮的应用时可以使用下面的一些方法:创建对话框应用,创建一个POPUP窗口。但是对于一些已经使用文档/视结构开发好的程序来说要进行修改就比较困难,下面介绍一种简单的方法可以很方便的实现这一功能,而且对程序的改动也不大。 这种方法的实质创建一个隐藏的窗口,做为当前应用中框架窗口的父窗口。你需要对程序进行一点改动以适应这种需要。


    首先:在你的CFrameWnd派生类中定义一个CWnd对象。

    class CMainFrame : public CFrameWnd
    {
    ...
    protected:
    CWnd m_wndParent;
    ...


    然后重载派生类的CMainFrame::PreCreateWindow函数,在函数中创建隐藏的父窗口。

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    if (!CFrameWnd::PreCreateWindow(cs))
    return FALSE;

    // 创建一个隐藏窗口
    if (!::IsWindow(m_wndParent.m_hWnd))
    {
    LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0);
    if (!m_wndParent.CreateEx(0, pstrOwnerClass, "", WS_POPUP,
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    NULL, 0))
    return FALSE;
    }

    cs.hwndParent = m_wndParent.m_hWnd;

    return TRUE;
    }

相关内容
赞助商链接