Я использую диалог задач с помощью функции 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.