Ribbon Menü

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Re: Ribbon Menü

Beitrag von Andre »

jacdelad hat geschrieben: 15.04.2021 12:04 Ich hab die Zip im ersten Beitrag aktualisiert.
....
Ich wollte grad mal den neuesten Stand gemäß der aktualisierten Zip-Datei ausprobieren...

Ging leider nicht, weil folgende Datei fehlt:

Code: Alles auswählen

    inbetween: : IncludeBinary "Inbetween48.ico"
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Ribbon Menü

Beitrag von jacdelad »

Oh, Verzeihung. Ich habe das korrigiert.

Ich habe noch einen Fehler gefunden und korrigiert. Außerdem kann die Hintergrundfarbe der Steuerelemente jetzt unabhängig von der Hintergrundfarbe des Ribbons an sich eingestellt werden. Dazu ist beim Erstellen ein weiterer Parameter nötig. Die Beispiele und Hilfe wurden angepasst (weiterhin nur für die DLL für XProfan, aber sicher gut ableitbar).

Als Nächstes arbeite ich an der Scrollgeschichte (wenn das Fenster zu klein für das Ribbon ist), danach neue Steuerelemente (Listen, Eingabefelder...).
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Re: Ribbon Menü

Beitrag von Andre »

@jacdelad: läuft jetzt wieder einwandfrei, danke :allright:

Noch ein kleiner Verbesserungsvorschlag für das nächste Update: Wäre gut, wenn du gleich selbst in allen Sourcecodes "Thread-sicheres Executable erstellen" als Compiler-Option setzt und dies so in den archivierten Dateien speicherst. Sonst wird jeder Tester gleich mit der entsprechenden Fehlermeldung konfrontiert... 8)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Ribbon Menü

Beitrag von jacdelad »

Wie mache ich das?

Danach beiße ich mir die Zähne weiter am Scrollen aus.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Re: Ribbon Menü

Beitrag von Andre »

jacdelad hat geschrieben: 19.04.2021 23:47 Wie mache ich das?
Na in der PB IDE in den Compiler-Optionen das entsprechende Häkchen setzen, und die Quellcodes so speichern / ins Archiv aufnehmen. :)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Ribbon Menü

Beitrag von jacdelad »

Das habe ich eigentlich gemacht. Bei mir sind alle threadsicher. Seltsam.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Ribbon Menü

Beitrag von jacdelad »

Entgegen den Meldungen auf CNN und Euronews ist das Projekt nicht tot. :wink:

Ich hab aber gerade ein Problem, das ich seit Tagen nicht lösen kann. Vielleicht kann mir jemand helfen: Das Ribbon ist eine Canvas. Zur Aktualisierung wird beugezeichnet, logisch. Wenn das Hauptprogramm aber mit einer Zeichenoperation beschäftigt ist kann es passieren, dass der Zeicheninhalt umgeleitet wird. Das Ribbon wird dann auf einen anderen Bild gezeichnet und das Menüband ändert sich nicht. In der Hilfe steht, dass mit threadsafe jeder Thread sein eigenes StartDrawing bekommt (ihr wisst was ich meine), das Ribbon läuft aber nicht in einem eigenen Thread sondern reagiert nur per BindEvent usw. Gibt es eine Möglichkeit die zufällige Umleitung zu verhindern oder muss ich dem Ribbon einen eifen Thread geben?
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Ribbon Menü

Beitrag von Bisonte »

Das Ribbon wird dann auf einen anderen Bild gezeichnet und das Menüband ändert sich nicht
Das klingt eher nach einem Zuordnungsproblem.... Also ich meine, den Ausgabekanal überprüfen Eventuell nur ein Typo ?)...
Weil umgeleitet wird definitiv nichts von selbst...
Soweit ich das in Erinnerung habe, waren die Zeichenoperationen nicht wirklich threadsafe. Daher würde ich das nicht in einen Thread auslagern.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Ribbon Menü

Beitrag von jacdelad »

Das Ribbon speichert seine Bilder, 2 pro Ribbon, in seiner Struktur. Das Hauptprogramm speichert sie in einer Map (in beiden Fällen natürlich das Handle). Ich lasse alle Bilder mit #PB_Any erstellen, das Ribbon hat sein eigenes Modul. Eigentlich dürfte nach meinem Verständnis nichts kollidieren. Ich hab auch noch kein richtiges System, nach dem sich erschließen lässt, wann es passiert, gefunden.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Ribbon Menü

Beitrag von jacdelad »

Ich hab den Renderer weiter verfeinert, wenn das Fenster deaktiviert wird, dann wird jetzt auch automatisch die Selektion entfernt. Außerdem Klappt das Abschneiden jetzt (wenn das Fenster nicht breit genug ist). Ich tue mich immer noch etwas schwer damit, eine Lösung für zu schmale Fenster zu finden (also nach links und rechts scrollen), aber das ist jetzt meine Hauptbaustelle. Update erfolgt, sobald ich das gelöst habe.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Antworten