リソースエディター(Visual C++、X64を使用)を使用してダイアログにボタンを作成しました。ボタンクリックイベントで、まったく同じサイズで同じ場所にある別のウィンドウを表示する必要があります(詳細については、「次へ」と「前へ」の2つのボタンがあることを伝えたいと思います。それらをクリックするとプレビューがありますそれぞれ「画像」と「ファイル」)。私のダイアログは 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 であり、このハンドルを使用して、これを使用してダイアログを作成しました-
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 を使用していることを確認してください。クリックしてさまざまなコンテンツを表示するために、すべてのウィンドウにボタンを配置したいので、そうしています。
したがって、私の問題は、ボタンが正常に作成され、適切に機能していることですが、ボタンをクリックすると、ファイルまたは画像を表示するために別のウィンドウが表示されます。しかし、別のウィンドウに移動すると、ボタンは一目で消え、マウスをそれらの上に移動したときにのみ表示されます。
マウスを上に移動せずにすべてのウィンドウにボタンを表示するにはどうすればよいですか?