0

関数を介してタスクダイアログを使用していTaskDialogIndirectます。

cxWidthダイアログの幅が構造体のフィールドで指定した幅のちょうど 2 倍であることを除いて、すべてが期待どおりに機能しますTASKDIALOGCONFIG

関連コード:

  TASKDIALOGCONFIG tdc;
  ZeroMemory(&tdc, sizeof(tdc));
  tdc.cbSize = sizeof(TASKDIALOGCONFIG);
  tdc.hwndParent = hwndParent;
  tdc.hInstance = NULL;
  tdc.pszWindowTitle = L"Title";
  tdc.pszMainInstruction = L"Foo";
  tdc.pszContent = L"Bar";
  tdc.dwFlags = TDF_POSITION_RELATIVE_TO_WINDOW;
  tdc.cxWidth = 150;
  int result;
  HRESULT hr = TaskDialogIndirect(&tdc, &result, NULL, NULL);

ドキュメントによると、これはcxWidthダイアログ単位の幅です。

上記のコードでは、ダイアログの幅が 150 ではなく 300 ピクセルになっています。これは、1 つの水平ダイアログ ユニットが 2 であることを意味し、非常に小さいように見えます。

タスク ダイアログの幅を明示的に指定したい場合、どうすればよいですか? この場合、1 つの水平ダイアログ ユニットが常に 2 であるという事実に頼ることはできないと思います。

4

0 に答える 0