Frage

Ich habe eine Borland C ++ Builder VCL -App (also arbeite ich noch nicht mit Unicode). Ich möchte zur Laufzeit eine einfache Übersetzung des Bildunterschriftentextes der Kontrollen an Russian zur Verfügung stellen.

Ich kann leicht verwenden EnumchildWindows Um die englische Bildunterschrift zu erhalten, dann die Übersetzung suchen und den Bildunterschriftentext mithilfe des Bilduntergangs ersetzen SetWindowtext. Dies funktioniert gut für meine westeuropäischen Übersetzungen, bei denen ich mir keine Sorgen um die Schriftart machen muss. Aber ich bin mir nicht sicher, wie die russische Version von Windows und dann 8 -Bit -kyrillische Zeichensets verarbeitet.

Derzeit haben alle VCL -Steuerelemente die Schriftstellungen:

Charset=DEFAULT_CHARSET
name=MS Sans Serif

Nehmen ich richtig an, dass, wenn mein Programm unter einer russischen Version von Windows ausgeführt wird, der Zeichensatz mit dem kyrillisch ist Default_charset Einstellung, damit ich die Schrifteinstellungen in allen meinen Steuerelementen nicht ändern muss?

Wenn ich die Schriftart ändern muss (zur Laufzeit), sollte die Windows -API -Funktion fungieren SendMessage (hwnd, wm_setfont, (wparam) hfont, true) Arbeiten mit VCL -Kontrollen? Ich habe versucht, die createFont () und die Verwendung zu verwenden SendMessage (.. wm_setfont ..) mit russian_charset und einem kyrillischen Schriftgesicht. Dies scheint keinen Effekt zu haben. Sie hält die Schriftart, die zur Steuerung in der Gestaltungszeit für die Steuerung festgelegt wurde Bestätigung, dass ich die Schriftart der Steuerelemente nicht ändern muss, oder mir eine VCL -Methode zum Festlegen aller Schriftstellen der Steuerung zur Laufzeit einstellen.

Keine korrekte Lösung

Andere Tipps

Das Fahrrad ist nicht nötig. Warum verwenden Sie keine Integrations -Tools für Übersetzungsumgebungen, die mit Borland C ++ Builder versehen sind? Es gibt einen Assistenten, der Ihnen bei Übersetzungen hilft und eine spezielle Ressourcendatei erstellt, die die Übersetzung aller Textzeichenfolgen in Ihrer Anwendung enthält. Das Programm überprüft dann die Systemsprache und die verfügbare Sprachressourcendateien beim Start und verwendet automatisch die entsprechende Sprache. Überprüfen Sie C ++ Builder Help System mit Index - "Integrierte Übersetzungsumgebung (ITE)" für eine detailliertere Prozessbeschreibung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top