So funktioniert JustAnswer:
  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.
Stellen Sie Ihre Frage an IT-Fachinformat...
IT-Fachinformatiker
IT-Fachinformatiker, Systemadministrator
Kategorie: Computer
Zufriedene Kunden: 6964
Erfahrung:  Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
32504664
Geben Sie Ihre Frage in der Kategorie Computer hier ein
IT-Fachinformatiker ist jetzt online.

Ich habe nun schon mindestens 4 Tage damit verbracht ComCtl

Kundenfrage

Ich habe nun schon mindestens 4 Tage damit verbracht ComCtl Treeview dazu zu bringen chinesische Zeichen anzuzeigen.

Code:
Me.MenuTree.Font.Name = "Arial Unicode MS"
strText = rs("MyDescription")
strKey = "a" & rs("MyID")
Set nodCurrent = Me.MenuTree.Nodes.Add(, , strKey, strText)

der Node wird zwar angezeigt es werden aber nur ??? dargestellt.

Wenn ich den Node wieder lese und den text in eine normale Textbox ausgebe werden die chinesischen Zeichen richtig dargestellt (in der Textbox)

Me.NodeText = NodSelected.Text

Herzlichen Dank für eure Hilfe
Adalbert
Gepostet: vor 6 Jahren.
Kategorie: Computer
Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo,

um dies zutun benötigen Sie das Programm "Global IME":
http://www.microsoft.com/windows/ie/ie6/downloads/recommended/ime/default.mspx

und versuchen Sie mal diesen Font:
http://www.sino.uni-heidelberg.de/edv/sinopc/chinese_fonts.htm

Beachten Sie, das Sie natürlich keine sinngemäße Sprache erhalten dafür benötigen Sie eine chinesische Windows-Version, keine deutsche oder englische helfen könnte auch eine sog. multi Language Version.

Gruss Günter

Verändert von IT-Fachinformatiker am 18.07.2010 um 19:17 Uhr EST
Kunde: hat geantwortet vor 6 Jahren.

Ich glaube ich sollte noch etwas über die Software die ich benutze anmerken:

 

Windows 7 ultimate 64bit mit installiertem Language-Packes für DE, EN, und chinesisch.

Office 2007 mit den gleichen Language Packs.

 

Lt. oben genanntem link ist dies für meine Konfiguration nicht relevant.

LG

Adalbert

 

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo, achso :-) das ändert natürlich einiges in diesem Fall müssen Sie sicherstellen, obn Ihre Komponente die Sie verwenden überhaupt rein chinesische Zeichen unterstützt denn Sie haben KEINE chinesische Windows Version sondern Sie haben nur chinesische Ausgaben da wird auch das Problem liegen Sie müssen als erstes also die Komponenten prüfen, ob diese nativ chinesisch unterstützt. Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

Und wie prüfe ich die Comdlg Komponenten auf ihre Sprachenfähigkeit?

Sie sollen ja nur utf-8 mit dem Arial Unicode MS Anzeigen.

Ich setzte diese TreeView Komponente innerhalb einer ACCESS Applikation ein. Die Daten kommen aus einer SQL-Server 2008 Datenbank. Alle "Build In" Access Controls funktionieren ja wunderbar nur dieses "dumme" TreeView will einfach kein UTF-8 in chinesisch anzeigen.

LG

Adalbert

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Also da müssen Sie mal den Verweis auf das Control ansehen dort steht der Pfad und die Datei z.B. c:\windows\system32\treectl32.ocx als Beispiel Sie gehen dann in den Pfad klicken die Datei mit der rechten Maustaste an und wählen Eigenschaften dort steht dann u.a. Version und auch die Sprache für die das Control entwickelt wurde. Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

Das sind die Registrierungseinträge des Controls

 

C:\Windows\SysWOW64\MSCOMCTL.OCX

mscomctl, Version=10.0.4504.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

 

Und das die Properties der Datei:

 

Dateiversion 6.1.98.18

Produktname MSCOMCTL

Produktversion 6.01.9818

Änderungsdatum 19.12.2009 13:28

Sprache Englisch (USA)

 

Ist also sogar die 64bit Anpassung für Windows 7

 

Also jetzt ist meine Weisheit :-) vollends am Ende.

LG

Adalbert

 

 

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo, aha da liegt das Problem:

Sprache Englisch (USA)

das wars, es wird NIEMALS funktionieren! Sie brauchen eine echte chinesische Variante dieser Komponente oder besser noch, ein chinesisches Windows 7 diese Language-Packs nützen nicht viel MS hat viele Komponenten einfach nach wie vor englisch belassen und nur die reine Ausgabe von Text angepaßt aus diesem Grund werden Sie mit dieser Komponenten auch nei ans Ziel kommen! Sie müssen eine sprachspezifische Komponente haben! Anders ist es NICHT möglich!

Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

Sorry, also das kann ich nicht glauben. Es liegt sicher nicht an der sprache, sondern an der Codpage für UTF-8.

Dieses Control ist in allen Windows-Versionen in english und soll ja nur irgendwelche Unicode Zeichen ausgeben.

Ich denke nur, dass ich etwas bei der Einstellung der Properties falsch mache:

 

TreeView.Font.name = ????

TreeView.Font.Codepage = ????

 

und bei der Zuweisung des Fields()

 

Node.Text = StrConv("Chinese Text", vbUnicode ["Oder" vbFromUnicode], LCID [????])

 

LG

Adalbert

 

 

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Ich will nicht bestreiten, das das vielleicht sogar so ist! Da ich keine chnesische Ausgabe habe kann ich das auch nicht zu 100% sagen. Okay, gehen wir es dann von der anderen Seite an: Ich habe Ihnen ein Link zu einem ont gesendet den schon mal getestet?

Zeichencodier zB "Big5", "HZ", "BGK" das sind die dir mir bekannt am einfachsten zB Firefox öffnen und dann auf Ansicht > Codierung gehen da sind alle aufgelistet (weitere).

Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

Also,

 

FireFox zeigt Unicode UTF-8

Wenn ich diese Zeichen in meine Tabelle kopiere, werden sie in allen ACCESS Build in Controls wie Textbox, label, dropdown ... richtig ausgegeben.... nur nicht im TreeView

 

.....

 

LG

Adalbert

 

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
haben Sie denn die Schriftart shcon getestet und die direkte Angabe der von mir genannten Codepages? Ich bin mit meinem latein auch fast am Ende ich bin nach wie vor davon überzeugt, das das Control das Problem verursacht evtl. gibt es weitere Eigenschaften des Controls. Es ist allerdings auch so, das ettliche Steuerelemente unter Windows auch in anderen Sprachen sich nicht auf andere Sprachen außer englisch, deutsch einstellen lassen wie z.B. chinesisch. Evtl. ist das TreeView eines davon was ist denn mit ListView haben Sie da schon mal geschaut? Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

So ist es mit meinem Latein auch. Also ListView und DropDown sind native in ACCESS 2007 enthalten und die funktionieren ja auch alle.

Jetzt werde ich es mal mit dem ComDgl ListView probieren, wenn da der Fehler auch so ist, dann ist es ein Problem der ComDgl Library.

Ich gebe Ihnen Bescheid.

LG

Adalbert

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo, okay mein Tipp: Evtl. wirklich bei MS fragen weil ich bin da echt am Ende mir fällt nix mehr ein aber,das was Sie eben gesagt haben mal testen das ist ne gute Idee. Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

Also im Windows Forms 2.0 Textbox Contol funktioniert es

LG

Adalbert

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
komisch, also ich behaupte das liegt daran, das es eine externe komponente ist ich hab grad mal rum gesucht aber nix gefunden ich befürchte, das sie in der tat einmal kontakt zu MS aufnehmen müssen die müssen es ja wissen ich jedenfalls finde leider weder eine erklärung noch eine lösung des problems. gruss günter
Kunde: hat geantwortet vor 6 Jahren.

Also, werde ich mal Microsoft kontaktieren. Dacht nur, dass ich zu blöd bin codepages richtig zu setzen.

Trotzdem vielen Dank

LG

Adalbert

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo, okay das wäre denke ich die sicherste Lösung habe inzwischen auch andere gefragt, von denen weiss auch keiner eine Lösung es könnte auch einfach ein Fehler sein aber wie gesagt ich denke, da hier nur MS weiter weis ich hoffe das ich Ihnen dennoch ein wenig helfen konnte. Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

Hallo,

Ich versuche nun gerade ein neues OCX mit Visual Studio zu machen, dass das Treeview aus .net 3.5 benutzt.

mal sehen ob das funktioniert.

Trotzdem DANKE

MFG

Adalbert

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo noch mal. Ja, das wäre zumindest ein Versuch wert aber: .NET greift letzlich auf das Windows API und die Komponenten zu es bildet ja nur eine Abstraktionsschicht aber es könnte vielleicht klappen weil .NET verborgene Eigenschaften benutzen kann, die man früher nur sperlich über das API erreichen konnte. Gruss Günter

Ähnliche Fragen in der Kategorie Computer