按钮在不同的窗体上不刷新

时间:2013-08-14 07:35:31

标签: winapi button window buttonclick

我使用资源编辑器(使用Visual C ++,X64)在对话框上创建了按钮。在按钮点击事件中,我必须显示另一个完全相同大小且位于相同位置的窗口(有关详细信息,我想告诉您我有两个按钮“下一个”和“上一个”。点击它们我有预览分别是“图像”和“文件”。我的对话框使用来自GetWindow函数的父句柄。请看这个 -

   SomeClassOrFounctionNoMatterWhat::GetWindow(HWND *phwnd)
    {
        HRESULT hr = E_INVALIDARG;
        if (phwnd)
        {
            *phwnd = m_hwndParent; //m_hwndParent is the parent handle now
            hr = S_OK;
        }
        return hr;
    }

所以我的意思是父句柄是m_hwndParent并使用这个句柄我用这个创建了Dialog -

m_hwndPreview = CreateDialogParam(g_hInst
                                  MAKEINTRESOURCE(IDD_MAINDIALOG),
                                  m_hwndParent,
                                  (DLGPROC)DialogProc,
                                  (LPARAM)this);

m_hwndPreview包含我在对话框IDD_MAINDIALOG上创建的按钮。 按钮点击事件我正在显示像这样的文件内容 -

m_hwndPreview3 = CreateWindowExW(0,
                                 MSFTEDIT_CLASS,
                                 NULL, //This window is to display the html file.
                                 WS_CHILD|WS_VISIBLE|WS_VSCROLL|ES_MULTILINE|ES_READONLY|WS_EX_TOPMOST,
                                 m_rcParent.left, m_rcParent.top,
                                 RECTWIDTH(m_rcParent),RECTHEIGHT(m_rcParent),
                                 m_hwndPreview,
                                 NULL,
                                 NULL,
                                 NULL);  // similarly m_hwndPreview2 for image preview

请参阅我使用m_hwndPreview作为包含按钮的父级。我这样做是因为我希望在每个窗口都有按钮,以便通过点击它们来显示不同的内容。

所以我的问题是按钮是成功创建的并且工作正常但是当我点击任何按钮时它会将我带到不同的窗口以显示文件或图像。但当它在不同的窗口上时,按钮会在第一眼看上去消失,只有当我将鼠标移到它们上面时它们才会出现。

如果按钮出现在每个窗口上而不将鼠标移到它们上,我该怎么做?

0 个答案:

没有答案