Visual Studio — как выровнять по левому краю текст заголовка VS Переполнение стека

Я пытаюсь изменить существующую диалоговую программу, написанную на C ++ под Visual Studio.

Строка заголовка в диалоговом окне показывает центрированный текст. Мне нужно, чтобы это было оправдано. Но я не могу понять, почему это в первую очередь. Я написал другую примерную программу, текст заголовка по умолчанию оставлен выровненным. Параметр в свойствах для диалогового окна — вправо текст. Это работает в моем примере программы, но изменение его в существующей программе не дает никакого эффекта.

Кажется, что кто-то, должно быть, приложил некоторые усилия для центрирования текста, но я ничего не вижу в коде, и, если это так, центрирование (или правильное обоснование в моем примере / тестовой программе) появляется в редакторе диалогов. Так должно быть в свойствах там. Но где!?!?!

Это одна из тех вещей, которая просто должна быть легкой, и я этого не вижу!

Так, как я оставлю оправдание тому тексту заголовка? Я даже был бы счастлив сделать это в коде, так как я уже изменяю заголовок, чтобы добавить туда номер версии программы. Кстати, когда я добавляю к заголовку или меняю новый заголовок, этот текст оказывается по центру.

0

Решение

Хитрость в создании текстового центра заключается в переопределении события WM_NCPAINT. как указано в этой ссылке

Если вы не хотите делать текстовый центр, удалите переопределение, и оно должно работать.

2

Другие решения

Так что это не совсем ответ, но моя «проблема» заключалась в том, что я сравнивал программы, работающие на Win10 и Win8. Оказывается, для Win10 по умолчанию должно быть выравнивание по левому краю, а для Win8 по умолчанию — Center.

Программно я привязываю номер версии к названию, и процесс центрирования в Win8, по-видимому, не является динамическим, поэтому результат искажается вправо. Мое решение состоит в том, чтобы просто добавить число символов в номере версии к исходному названию, и когда я добавлю номер версии, я обрежу эти пробелы.

WM_NCPAINT, вероятно, является «правильным» ответом, но, возможно, слишком дорогим с точки зрения времени.

0

По вопросам рекламы [email protected]