Win32: Программа «О программе» использует DIALOGEX. Я хочу заменить текущий LTEXT и использовать строку из Stringtable.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Win32: Программа «О программе» использует DIALOGEX. Я хочу заменить текущий LTEXT и использовать строку из Stringtable.

Сообщение Anonymous »

Я не программист Windows. Программа, над которой я работаю, использует DIALOGEX для создания окна «О программе». Мне нужно найти способ заменить ресурс из таблицы строк вместо LTEXT, который является частью DIALOGEX.
Я хотел бы сделать это, чтобы включить текст, относящийся к версии, в файл журнала. который создается программой. Мне не хватает понимания того, как файл ресурсов обрабатывает это.
Я создал IDS_VERSION в resources.h. Можно ли включить этот же ресурс в DIALOGEX?
Я добавил ресурс:

Код: Выделить всё

#define IDS_VERSION  104
Определил его в таблице строк:

Код: Выделить всё

IDS_VERSION  "This program, Version 0.40"
Включил текст в свой код C++:

Код: Выделить всё

LoadStringA(hInstance, IDS_VERSION, szVersion, MAX_LOADSTRING);
Я бы предпочел сохранить простую генерацию «О программе» с помощью DIALOGEX, но я не знаю, как заменить или изменить строку LTEXT.

Код: Выделить всё

IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About caption"
FONT 8, "MS Shell Dlg"
BEGIN
ICON            IDR_MAINFRAME,IDC_STATIC,14,14,21,20
LTEXT           "This program, Version 0.40", IDC_STATIC, 42, 14, 114, 8, SS_NOPREFIX
DEFPUSHBUTTON   "OK",IDOK,113,41,50,14,WS_GROUP
END
Я немного новичок в этом. Попробую подвести итог. Меня спросили:

Этот вопрос похож на: Установите текст элемента управления StaticText, используя чистый API Windows, без MFC. Если вы считаете, что это другое, отредактируйте вопрос, объяснив, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.

Очень похоже, за исключением того, что, указав другой идентификатор, я мог манипулировать строкой. Моя цель — вывести строку версии в двух местах: файл журнала и окно «О программе». Я хочу определить строку только в одном месте, чтобы они не различались. Ответ Игоря помог мне понять и решить мою проблему.
Я до сих пор плохо понимаю IDC_STATIC и/или его особенности. Я думаю, что нужно много читать, чтобы получить хорошее представление о ресурсах Windows.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -ltext-and
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»