tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Endurion
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1061
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Azatoth Azatoth ist offline Mitglied
    Registriert seit
    Aug 2011
    Ort
    Rheinland Pfalz
    Beiträge
    11
    Hallo zusammen,
    ich möchte bei einer bestehenden Anwendung eine Sprachauswahl nachziehen. Die Bezeichnungen von allen sichtbaren Elementen liegen als XML-Dateien vor. Es sollte auf mehrere *.rc Dateien und DLLs verzichtet werden. Das bedeutet das alle sichtbaren Bezeichnungen zur Laufzeit aus der jeweiligen XML-Datei geladen werden.

    Meine Frage lautet nun, gibt es eine Möglichkeit die Einträge der StringTable zur Laufzeit zu ändern?
     

  2. #2
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Nicht vom eigenen Programm, da Windows auf laufende Programme keinen Schreibzugriff zuläßt. Bei einem anderen Programm kannst du mit UpdateResource darin rumpörkeln, sofern dir das interne Format bekannt ist.
     

  3. #3
    Azatoth Azatoth ist offline Mitglied
    Registriert seit
    Aug 2011
    Ort
    Rheinland Pfalz
    Beiträge
    11
    Danke für die Antwort Endurion.
    Gibt es vielleicht sonst irgend eine Möglichkeit wie man eine Mehrsprachige MFC-Anwendung ohne mehrere *.rc Dateien realisieren kann.
     

  4. #4
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Nunja, häßliche Handarbeit. Du kannst dir zum Beispiel ein LoadStringEx bauen (das gibt es dummerweise nicht), das eine Sprach-ID erwartet und dann den Text aus der entsprechenden Resource zieht. String Tables haben eine Sprach-Eigenschaft, d.h. du kannst verschiedene Sprachen in einer .rc haben.

    Ich habe mir für sowas mal eine Funktion gebaut, der ich ein Parent-HWND übergebe. Die Funktion geht dann rekursiv mit EnumChilds über das Fenster, und zieht für jedes zutreffende Fenster den Text aus den Resourcen. Das müßte man dann nur einmal beim Erstellen eines Fensters/Dialoges aufrufen.
    Azatoth bedankt sich. 

Ähnliche Themen

  1. [C] Code zur Laufzeit ändern ?
    Von BloodOrange im Forum C/C++
    Antworten: 12
    Letzter Beitrag: 08.11.08, 10:13
  2. Code zur Laufzeit ändern
    Von RealHAZZARD im Forum Java
    Antworten: 6
    Letzter Beitrag: 19.07.07, 01:47
  3. StringTable Ressource in VB.Net
    Von McT52 im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 04.12.04, 23:37
  4. eigenschaften zur laufzeit ändern
    Von thecooper im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 06.08.03, 09:59
  5. AN stringtable
    Von Spiky im Forum Photoshop
    Antworten: 5
    Letzter Beitrag: 16.07.02, 20:45