3

下の写真のようにRT。 カスタムウィンドウをエクスプローラーに挿入

私は以下のようにいくつかの方法を試しますが、うまくいきません:

  1. エクスプローラーバー、ツールバンド、デスクバンド、こちらをご覧ください
  2. 名前空間拡張、ここを参照
  3. フォルダビューの実装。こちらをご覧ください

私はこの問題を解決しました。フォルダビューウィンドウのサイズを変更し、新しいカスタムウィンドウを作成して正しい位置に移動します。以下に示すように、このコードはフォルダビューウィンドウの上部にカスタムウィンドウを表示します。

HWND phwnd = (HWND)explorer SHELLDLL_DefView handle;
HWND chwnd = (HWND)explorer DirectUIHWND handle;
RECT *rcClient = new RECT(); 
GetClientRect(phwnd, rcClient);
MoveWindow(chwnd, rcClient->left, rcClient->top+39, rcClient->right, rcClient->bottom-39, TRUE);
HWND haddwnd = ::CreateDialogParam(hInst,
                MAKEINTRESOURCE(IDD_DIALOG1),
                phwnd,
                (DLGPROC)About,
                (LPARAM)rcClient);
ShowWindow(haddwnd, SW_SHOWNOACTIVATE);
MoveWindow(haddwnd, 0, 0, rcClient->right, 39, TRUE);
<pre>
4

0 に答える 0