Office: Listview (ActiveX): Font setzen?

Helfe beim Thema Listview (ActiveX): Font setzen? in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo ihr, ich hab mehrere Listviews der Klasse MSComctlLib.ListViewCtrl.2 (aus mscomctl.ocx, v 6.1.97.86, korrekt installiert, registriert und... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von mupan, 22. November 2010.

  1. Listview (ActiveX): Font setzen?


    Hallo ihr,

    ich hab mehrere Listviews der Klasse MSComctlLib.ListViewCtrl.2 (aus mscomctl.ocx, v 6.1.97.86, korrekt installiert, registriert und referenziert). Auch hier gibt es ein Problem mit "extended characters", diesmal allerdings nicht in den Inhaltsdaten, die Zeichen werden korrekt gespeichert, sondern lediglich in der Anzeige. Genau gesagt wird c mit hatschek / caron zu E mit accent aigu. Die Eigenschaftenbox zeigt "Arial" an. Schon, dass es hier keine Listbox mit Schriftartennamen gibt, macht mich stutzig. Stattdessen die Drei-Punkte-Schaltfläche. Wenn ich darauf klicke, erhalte ich unter Access 2000 einen Auswahldialog zu Schriftart, -größe und -schnitten, unter Access 2010 die Eigenschaften des Listview-Controls. Wähle ich in Access 2000 "Arial Unicode MS" aus und schließe die Fontauswahl mit OK, ist die Zeile zur Schriftart in den Eigenschaften des Listviews nunmehr leer.

    OK, also per Code, und wahrscheinlich nur zur Laufzeit. Ich fahre mein Produkt hoch und gebe im Direktfenster ?gmainforms.frmBeispiel.lvwBeispiel.font ein (gmainforms.frmBeispiel ist das Formularobjekt), erhalte Arial. Weise mit gmainforms.frmBeispiel.lvwBeispiel.font = "Arial Unicode MS" einen Unicode-Font zu, das wird ohne Murren akzeptiert, ein erneutes ?gmainforms.frmBeispiel.lvwBeispiel.font gibt "Arial Unicode MS" zurück. Bloß die Anzeige in der Liste ist immer noch falsch. gmainforms.frmBeispiel.lvwBeispiel.requery hat keine Auswirkung.

    Der Objektkatalog zeigt eine Eigenschaft Font für ein Listview-Objekt aus den Windows Common Controls an, allerdings als Element eines lFontDisp. Wo kriege ich eine Dokumentation und / oder Beispielcode der mscomctl.ocx her, um mit dieser Info etwas anfangen zu können? Visual Studio? Wer kennt sich da aus? Eine Suche per Scroogle, auf msdn, devx.com, stackoverflow usw. hat genau nichts ergeben, doch, Google kennt dies hier: http://mblog.devpia.com/MyMBlog/?pag...B9%A8%EB%86%80 -- Chinesisch? Japanisch? Vielleicht ähnliches Problem, wäre sicher interessant, das zu lesen.

    Also meine Fragen, parallel zu meinen weiteren Recherchen und Probierereien:

    Wer kennt / hat eine Dokumentation / Referenz / Beispielcode für mscomctl.ocx?

    Stimmt meine Annahme, dass sich der Font eines Listviews nicht zur Designzeit einstellen lässt? Geht es denn zur Laufzeit? In welchem Event des Forms muss ich den Font setzen und wie aktualisiere ich danach das Listview erfolgreich?

    Andere Ideen, wie ich zum Ziel komme? Das Ziel: Verwendung einer Unicode-Schrift in einem Listview-ActiveX-Control, um extended characters richtig angezeigt zu bekommen?

    Liebe Grüße

    mupan

    :)
     
  2. Die offizielle Hilfedatei zum Control ist die cmctl198.chm (inkl. -.chi), die auf nicht-offizeiller Seite etwa hier zu finden ist:
    http://mail.lionrampant.co.uk/users/...B/COMMON/HELP/

    Um das iFontDisp brauchst du dich nicht zu kümmern. Das ist nur das Interface zum StdFont-Objekt, welches in die Controls eingebaut ist. Das muss man den Controls jedenfalls nicht erst zuweisen, weil es bereits beim Initialisieren derselben automatisch mit Voreinstellungen erzeugt wird - IMHO mit MS Sans Serif 8,25.
    Ändern tut man die Font-Eigenschaften jederzeit (bzw. ab Form_Load) über dieses Font-Objekt:
    Me!cltLvw.Object.Font.Name = "Arial Unicode MS"
    ... .Size = 9
    etc.

    Das funktioniert bei mir per Code, wie auch über gespeicherten Entwurf. Nur die Schriftgröße hakt, weil die vom Type Currency ist, was man offenbar in die Schriftgrößen-Combo nicht exakt eingeben kann. Bzw. Es wird scheinbar angenommen, aber intern wahrscheinlich nicht gespeichert - ohne Fehlermeldung -, so dass beim nächsten Öffnen im Entwurf die Zahl wieder auf 8.25 steht.
    Mit dem Code oben geht es bei mir aber in allen Ansichten - Report, List, Small List, ... Hab die Version 6.1.98.18.

    In welchen Modus zeigst du das Listview an? Report oder Icons?
    Das Verhalten mit der leeren Schritarten-Combo tritt bei mir nicht auf.

    Ansonsten ist es völlig korrekt, dass der Eigenschaften-Dialog des Controls angezeigt wird, nicht eine Schriftarten-Combo direkt in der Eigenschaftenseite von Access. Das ist praktisch bei allen ActiveX-Steuerelementen so.

    Ciao, Sascha
     
    Sascha Trowitzsch, 23. November 2010
    #2
  3. Hi Sascha,

    danke für deine Antwort. Durch Hinweis in einem anderen Forum habe ich die Eigenschaft .Font.Charset gelernt, mögliche Werte wohl:

    Charset Name Charset Value(hex) Codepage number
    ------------------------------------------------------

    DEFAULT_CHARSET 1 (x01)
    SYMBOL_CHARSET 2 (x02)
    OEM_CHARSET 255 (xFF)
    ANSI_CHARSET 0 (x00) 1252
    RUSSIAN_CHARSET 204 (xCC) 1251
    EE_CHARSET 238 (xEE) 1250
    GREEK_CHARSET 161 (xA1) 1253
    TURKISH_CHARSET 162 (xA2) 1254
    BALTIC_CHARSET 186 (xBA) 1257
    HEBREW_CHARSET 177 (xB1) 1255
    ARABIC _CHARSET 178 (xB2) 1256
    SHIFTJIS_CHARSET 128 (x80) 932
    HANGEUL_CHARSET 129 (x81) 949
    GB2313_CHARSET 134 (x86) 936
    CHINESEBIG5_CHARSET 136 (x88) 950

    (http://support.microsoft.com/kb/165478).

    Damit lässt sich zur Laufzeit das Characterset anpassen, in meinem Fall auf EE_CHARSET, z.B. entsprechend dem Rückgabewert der API-Funktion GetUserDefaultLCID (http://support.microsoft.com/kb/193080) oder in meinem Fall entsprechend von uns bzw. dem Kunden zu setzender programmspezifischer Settings. Damit klappt alles. Etwas mehr Details und Beispielcode unter http://msdn.microsoft.com/en-us/libr...8VS.60%29.aspx. Danke für deine konstruktiven Hinweise.
     
  4. Listview (ActiveX): Font setzen?

    Hallo zusammen,
    wollte mir mal die von Sascha genannte Hilfe-Datei ansehen.
    Index, Inhalt und Suche funktionieren doch leider ist das Hilfefenster Leer mit der Meldung:
    "Dieses Programm kann die Webseite nicht anzeigen."

    Wie kann ich die entspr. Hilfeseite anzeigen lassen?
     
    Marsu65, 3. März 2011
    #4
  5. Hallo Marsu,
    Du musst die Datei als erstes in einem lokalen Laufwerk speichern. Am besten unter Eigene Dateien.

    Dann musst Du der Datei noch klar machen, dass Sie nicht gefährlich ist. Öffne dazu mal das Kontextmenü der Hilfedatei (rechte Maustaste / Eigenschaften). Auf der Registerseite Allgemein findest Du unten einen Hinweis, dass diese Datei von einem anderen Computer stammt und daher potentiell unsicher ist. Wenn Du auf Zulassen klickst und die Hilfe danach öffnest, kannst Du den Inhalt sehen.

    HTH
     
    Thomas Möller, 3. März 2011
    #5
  6. Danke dir Thomas, das war´s.
     
    Marsu65, 4. März 2011
    #6
Thema:

Listview (ActiveX): Font setzen?

Die Seite wird geladen...
  1. Listview (ActiveX): Font setzen? - Similar Threads - Listview ActiveX Font

  2. ListView & mac

    in Microsoft Excel Hilfe
    ListView & mac: Moin allerseits, nachdem hier letztens der erfreuliche Hinweis erschien, dass nun auch Userforms unter macOS laufen, und einer längeren (leider erfolglosen Recherche im Netz) meine Frage an die...
  3. Listview zweite Reihe füllen

    in Microsoft Excel Hilfe
    Listview zweite Reihe füllen: Hallo, egal was ich mache, ich bekomme die zweite Reihe nicht gefüllt. Es geht sich um die Userform1. Könnte mir einer das erklären. Ich möchte mich mal mit ListView auseinandersetzen. Code: Dim...
  4. ListView Access 2016 64Bit

    in Microsoft Access Hilfe
    ListView Access 2016 64Bit: Guten Morgen liebe Access-Gemeinde, ich habe aktuell einen Rechner mit Windows 10 Pro und dem MS Office Pro Plus 2016 Paket (64 Bit!!!!). Windows und Office sind beide update-technisch auf dem...
  5. Listview Formular öffnen

    in Microsoft Access Hilfe
    Listview Formular öffnen: Hallo, wie kann ich über Listvie ein Formular öffnen lassen Code: DoCmd.OpenForm "frm_mainbook", , , "ID=" & listView0.SelectItem.Text Was mache ich falsch ? 291014
  6. Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX)

    in Microsoft Access Hilfe
    Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX): Hallo, ich habe in einem HF ein ListView-Steuerelement eingefügt. Zur besseren Lesbarkeit möchte ich gerne die Zeilen farblich voneinander absetzen. Zu einem Beispiel bin ich hier fündig...
  7. Listview und Listbox = Nicht genug Speicher

    in Microsoft Excel Hilfe
    Listview und Listbox = Nicht genug Speicher: Hallo Ich habe ein Formular mit einer Listview + vier Listboxen. Wenn ich das Formular öffne kriege ich die Meldung dass nicht genug Speicher für eine vollständige Anzeige zur Verfügung steht....
  8. Wie suche ich in Listview?

    in Microsoft Excel Hilfe
    Wie suche ich in Listview?: Hallo Da ich viele Daten habe, arbeite ich meistens mit Userforms. Wir sind zu zweit im Team und hatten uns entschieden Listviews zu benutzen, da die Daten angenehmer anzuschauen sind. Ich habe...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden