Ich würde dies tun, um Text in Bezug auf die Version in eine Protokolldatei einfügen zu können, die von erstellt wird Programm. Mir fehlt das Verständnis dafür, wie die Ressourcendatei damit umgeht. Ich habe IDS_VERSION in resources.h erstellt. Kann dieselbe Ressource in DIALOGEX eingeschlossen werden?
Ich habe eine Ressource hinzugefügt: #define IDS_VERSION 104
Definiert in der String-Tabelle: IDS_VERSION „Dieses Programm, Version 0.40“Ich habe den Text in meinen C++-Code eingefügt: LoadStringA(hInstance, IDS_VERSION, szVersion, MAX_LOADSTRING);
Das würde ich lieber tun Behalten Sie die einfache About-Generierung mit DIALOGEX bei, wissen Sie aber nicht, wie Sie die LTEXT-Zeile ersetzen oder ändern können.
Code: Select all
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
„Diese Frage ähnelt: Legen Sie StaticText-Steuertext mit der reinen Windows-API fest, ohne MFC. Wenn Sie glauben, dass es anders ist, bearbeiten Sie bitte die Frage und machen Sie deutlich, wie es ist.“ unterschiedlich und/oder inwiefern die Antworten auf diese Frage für Ihr Problem nicht hilfreich sind "
Ganz ähnlich, außer dass ich durch die Angabe einer anderen ID die Zeichenfolge manipulieren könnte. Meine Absicht war es, eine Versionszeichenfolge an zwei Stellen auszugeben: in einer Protokolldatei und im About-Fenster. Ich wollte die Zeichenfolge nur an einer Stelle definieren, um zu verhindern, dass sie unterschiedlich sind. Igors Antwort hat mir geholfen, mein Problem zu verstehen und zu lösen.
Ich habe immer noch kein gutes Verständnis von IDC_STATIC und/oder dessen Besonderheit. Ich denke, es ist eine Menge Lektüre nötig, um sich mit den Windows-Ressourcen vertraut zu machen.
Prost und vielen Dank an alle. -Tom