Announcement

Collapse
No announcement yet.

Unicode & Delphi

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unicode & Delphi

    Für die Entwicklung von Komponenten (mehrsprachig) möchte ich zur Beschriftung von Buttons etc. mehrere Zeichensätze verwenden. Im Prinzip kann man für eine visuelles Objekt ja einen Font wählen. Aber wenn ich z.B. einen Button mit lateinischen, griechischen und math. Zeichen gemischt beschriften will, versagt die obigeMöglichkeit.
    Die Verwndung von Unicode wäre eine Möglichkeit, aber die on-line Hilfe ist spärlich oder glatt zu vergessen. Wer kann mir eine Code-Fragment mit Mix aus verschiedenen Zeichensätzen oder Unicode aus verschiedenen Sprachen schicken?

    Vielen Dank

  • #2
    Ich kann Dir zwar nicht helfen, aber falls Du was rausbekommen hast würde ich es gerne auch wissen.<br>
    gruß<br>
    Ale

    Comment


    • #3
      Mir ist es bisher ebenfalls nicht gelungen, Unicode in Delphi-Buttons etc. anzuzeigem. In C++ ist dafür offensichtlich ein Compilerschalter zuständig. Ich bin ebenfalls dringend an Ratschlägen zu diesem Thema interessiert

      Comment


      • #4
        Hallo,

        nur Windows NT und Windows 2000 - aber <b>nicht</b> Windows 9x - unterstützen die sogenannten <i>Wide Controls</i> (Steuerelemente, die von Haus aus mit Unicode-Zeichen umgehen können). Die VCL verwendet diese Controls nicht, damit die Kompatibilität mit Windows 9x erhalten bleibt. Somit kann <b>TLabel</b> oder <b>TStaticText</b> (keine Controls) nicht verwendet werden - es bleibt in diesem Fall nichts anderes übrig, als eigene Nachfolger abzuleiten, die den Text über die API-Funktion <b>DrawTextW</b> ausgeben.

        Da die Wide Controls auch speziell über <b>CreateWindowW</b> erzeugt werden müssen und zudem eigene Botschaftsroutinen verwenden, gibt es auch hier keine elegante Lösung für alle Win32-Platformen. Allerdings ist das <i>Status Bar Control</i> für beide Zeichensätze geeignet, hier reicht es aus, nur eine SB_SETTEXTW-Botschaft mit dem Unicode-Text zu übermitteln, damit der Unicode-Text angezeigt wird.

        Für den Komponentenentwickler - der Unicode einsetzen will - wird wohl nichts anderes übrigbleiben, als jeweils völlig getrennte Wege für NT/2000 und Windows 9x zu implementieren - es sei denn, die Controls werden erst ab NT aufwärts eingesetzt

        Comment


        • #5
          (Fast) alles zu Delhpi und Unicode: http://www.lischke-online.de/Unicode.html
          Die Borländer hätten genausogut wie die Microsoftler einen Unicode-Schalter einbauen können. Schade, dass sie es beim übersetzen von windows.h in windows.pas unterschlagen haben. (Mit dem Schalter wird eben CreateWindow auf CreateWindowW gemappt und nicht auf CreateWindowA)
          Bei jedem API-Aufruf einer Ansi-Funktion unter Windows-NT/2000 wird der Ansi-Text in UniCode umgewandelt und die Rückgabeparameter wieder in Ansi-Text - Performance ade... (Bei Unicode ist dies nicht nötig, da der NT-Kernel voll Unicode-fähig ist.)
          Gruss, Ren&#233

          Comment

          Working...
          X