Указание ширины TaskDialog - PullRequest
0 голосов
/ 26 июня 2019

Я использую диалог задач с помощью функции TaskDialogIndirect.

Все работает, как и ожидалось, за исключением того, что ширина диалога ровно в два раза больше, чем я указал в поле cxWidth в 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 - это ширина в диалоговых единицах.

Скод над шириной диалогового окна составляет 300 пикселей вместо 150, что означает, что одна горизонтальная диалоговая единица равна 2, что кажется очень маленьким.

Если я хочу явно указать ширину диалогового окна задачи, как я долженпродолжить?Предположим, я не могу полагаться на тот факт, что в этом случае одна горизонтальная диалоговая единица всегда равна 2.

...