Beiträge von Jac de Lad

    Letztes Update für heute:

    • Einige Funktionen wurden in SetRibbonMetric/GetRibbonMetric integriert, deshalb entfallen jetzt die Funktionen ...Color/...Roundness/...UpdateMode.
    • Kategorien können jetzt auch Icons enthalten (konnten sie vorher schon, aber jetzt werden sie auch gerendert.
    • Der Code wurde weiter aufgeräumt.

    Es fällt mir schwer neue Controls zu "erfinden", da mein Zeichenbereich auf das Ribbon beschränkt ist. Ich experimentiere momentan damit z.B. bei Comboboxen ein Fenster über das eigentliche Fenster zu legen, aber ich weiß irgendwie noch nicht so richtig wie das klappen wird. Ich bin voller Hoffnung, dass ich das hinbekomme. Prinzipiell würde ich dem Teil jetzt aber den Status "Alpha-Version" geben.

    Soooo, ich war fleißig:

    • Komplettes Umschreiben des Renderings. Bisher brauchte ein Neuzeichnen beim Hovern auf meinem System etwa 10ms, jetzt nur noch 1ms. Das Neuzeichnen beim Anklicken von Checkboxen, Ändern der Kategorie etc. dauert immer noch länger (etwa 21ms bei mir). Noch experimentell, aber ich bin guter Dinge, dass es so bleiben kann.
    • Neue Funktion: SetRibbonRounding(handle,wert) (und die entsprechende Get-Funktion) ermöglicht das Einstellen der Rundungen, womit das Ribbon weiter nach dem persönlichen Geschmack anpassbar ist.
    • Die Einklappfunktion ist schon zum Teil eingebaut, aber noch nicht fertig.

    Morgen räume ich den Code auf, arbeite an der Einklappfunktion und schaue mal, ob ich ein paar neue Steuerelemente reinkriege. Mir schweben da Listen, Ausklapplisten, Buttons mit Dropdownfunktion und eine Art Sidebar (wie in MS Office) vor. Vielleicht auch eine Scrollfunktion für das Menü (wenn das Fenster zu klein ist).


    Übrigens habe ich das Ribbon schon in einem Projekt erfolgreich eingesetzt. Zwar in PureBasic, aber mein zweites Projekt ist ein Programm in XProfan. Das werde ich in ein paar Wochen auf Ribbon umstellen. :)

    Update, aber immer noch nicht für die breite Öffentlichkeit:

    • Verbesserte Darstellung bei Größenänderung des Elternfensters, sofern diese von der DLL verwaltet wird.
    • Neue Funktion um die Checkboxen durch eigene Bilder zu ersetzen.
    • Die meisten Funktionen bieten jetzt mehr oder weniger sinnvolle Rückgabewerte.

    Ich experimentiere jetzt mit der Verwaltung mehrerer Ribbons in einem Programm (aber natürlich weiterhin nur eins pro Fenster), neuen Steuerelementen und der Möglichkeit das Ribbon zu minimieren (da bin ich noch unsicher, ob das überhaupt was wird, aber mal sehen...).


    Nachtrag: Bei meinen Tests hast das Arbeiten mit mehreren Ribbons auf einmal wunderbar funktioniert.

    Statusupdate: Das Control kann erstellt werden. Kein Subclassing oder so nötig um das Hovern zu zeichnen, das kommt direkt durch die DLL. Ich kümmer mich als nächstes um den Fall, dass das Fenster in der Größe angepasst wird, danach noch das Abfangen von Klicks und dann kann ich was zum Testen hochladen. Stay tuned!

    Hallo Michael,
    natürlich kann das komplett in XProfan geschrieben werden, aber ich glaube, das ist schlicht zu langsam. Deshalb will ich ja die DLL verwenden.
    Ich habe gerade angefangen zu experimentieren. Es ist vielversprechend, das Ribbon wird schon gezeichnet und ich kann Steuerelemente erstellen etc. Um die Messageverwaltung kümmere ich mich danach, hoffentlich ist nicht alles für die Katz. Aber eins nach dem anderen.

    Hallo Stephan, ich gebe mein bestes. Momentan muss ich noch eine Möglichkeit finden Klicks und Hovern abzufangen. Das klappt innerhalb von PureBasic sehr gut, bei einer DLL, die dann in XProfan benutzt wird ist das was anderes. Aber das wird schon werden.

    Hi Leute, ich war fleißig mit PureBasic. Aber da PureBasic auch keine Ribbons kennt und ich die wirklich mag (da gehen die Geschmäcker ja weit auseinander), nehme ich das selbst in die Hand. Ich will es nachher auch gern für XProfan verfügbar machen, per DLL. Dazu fehlt mir aber noch ein bisschen Wissen, deshalb konzentriere ich mich erst auf PureBasic. Von allen, die An Ribbons interessiert sind hätte ich gern Feedback, aber bedenkt bitte, dass das Projekt noch ganz am Anfang steht. Im Anhang ist eine "Demo". Ihr könnt ein Element anklicken, dann wird die ID unten angezeigt. Mittels "Daten lesen" könnt ihr die Eigenschaften der gewählten ID laden, mit "Daten schreiben" könnt ihr sie wieder schreiben. Die Vergabe der IDs erfolgt in der Demo "logisch": 1, 2, 3...Kategorien, 10, 20, 30...Gruppen, 100, 101, 102...einzelne Steuerelemente usw. Für die Demo reichts sicher. Außerdem könnt ihr die Farbe ändern, entweder mit einem direkten Farbwert (probiert mal "16767679") oder einem RGB-Wert ("255,0,0"). Ach ja, das Design weicht absichtlich vom Microsoft-Design ab. Einerseits, weil es was eigenes ist, andererseits hat Microsoft das Design immer wieder verändert und ich will etwas "dauerhaftes" erstellen. Zuguterletzt ist einiges davon auch schwer zu klonen.


    Was schon funktioniert:
    - Automatische Anordnung und Breiteneinstellung, keine Breitenangaben für irgendein Steuerelement nötig
    - Besagte Steuerelemente erstellen, ändern, versetzen und wieder löschen (Buttons, PushButtons, Checkboxen,...)
    - Steuerelemente abfragen (Hover und Left/Right-Click/DoubleClick)
    - Automatische Anpassung des Ribbons bei Größenänderung des Fensters
    - Automatische Anpassung des Ribbons bei Änderung einer Eigenschaft eines Steuerelements
    - Verkürzung von Gruppennamen, falls nötig
    - Automatische oder selbst gewählte Einstellung der Schriftfarbe
    - Benutzerdefinierte Wahl der Schriftart

    Hallo Michael,
    es klappt von überall und wie oben beschrieben mit allen DynDNS-Anbietern, außer eben mit tplinkdns, obwohl der direkt von meinem Routerhersteller kommt. Da klappt es nur mir meinem Handy (überall).

    Nee, heutzutage hat man doch eine Cloud. Hab auch schon geschaut, es gibt keinen Docker-Container und keine App die das auf meiner Cloud machen kann.


    Wie gesagt, ich nutze jetzt einen kostenlosen Dienst und logge mich dann und wann ein.


    Hallo Michael H., ja alles korrekt und alle Dienste funktionieren auch. Es ist nur seltsam, dass der eingebaute tplinkdns.com bei manchen Geräten nicht funktioniert, obwohl ich mit meinem Handy im selben Netzwerk problemlos reinkomme.

    Nicht wirklich eine Option, bei den Strompreisen und auf Kurzarbeit bin ich auch gesetzt. Nein, da bleibe ich bei einem free account und melde mich ab und zu mal an.

    Halli Peter,
    nee, ist eben gratis, quasi zum Router dazu. Ich hab schon probiert, alle anderen DNS gehen problemlos, aber wenn ich nicht bezahle aktualisieren die sich nicht automatisch oder man muss sich ständig einloggen.