BGRA Ribbon

Zur Vorstellung von Komponenten und Units für Lazarus

BGRA Ribbon

Beitragvon coasting » 20. Mär 2016, 19:14 BGRA Ribbon

Hey

Habe mithilfe der BGRA Controls ein Ribbon-Style Projekt Template erstellt.

Overview.png


Zum kompilieren werden die BGRABitmap und BGRAControls Packages benötigt.

Das Template ist noch nicht fertig und es gibt noch ein paar Dinge, die ich gerne umsetzen möchte. Sourcen liegen aber trotzdem schon mal bei. Bin für Anregungen und Kritik offen ;)

Update 06.04.2016
+ Fenster ist Resizeable und Moveable ohne Titelleiste
+ Fenster hat einen Schatten (CS_DROPSHADOW)
+ Maximize / Minimize des Fensters, inkl. Doppelklick der Titelleiste
+ Slide-in / Slide-out Effekt der Menus
+ XML Storage zum Abspeichern der Farbe, Größe und Position
+ Fokusstatus des Fensters wird berücksichtigt
+ Systemmenu
+ "Quick Access" Buttons
+ Fensterdeko in der Titelleiste
+ Cross Platform (so hoffe ich)
+ Diverse kleine Verbesserungen

coasting
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von coasting am 6. Apr 2016, 20:48, insgesamt 6-mal geändert.
coasting
 
Beiträge: 21
Registriert: 30. Apr 2014, 13:32

Beitragvon Roland Chastain » 20. Mär 2016, 20:23 Re: BGRA Ribbon

Hallo!

Das ist sehr hübsch. Danke für das Code. :)

Nur eine Frage: Ich habe nicht verstanden, was man mit die .bcbtn Dateien machen soll. :roll:
Zuletzt geändert von Roland Chastain am 8. Apr 2016, 07:35, insgesamt 1-mal geändert.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Roland Chastain
 
Beiträge: 58
Registriert: 7. Jul 2012, 20:50
Wohnort: Dakar, Senegal

Beitragvon Dragon » 20. Mär 2016, 21:41 Re: BGRA Ribbon

@Roland Chastain
Ich glaube da sind die themes drin gespeichert also das aussehen der Ribbon bars

@coasting
Die komponente sieht auf jedenfall ziemlich nice aus gute arbeit. Werde mir bei gelegenheit den code mal ansehen.
Dragon
 
Beiträge: 162
Registriert: 31. Jul 2013, 14:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80 | 
Nach oben

Beitragvon coasting » 21. Mär 2016, 10:37 Re: BGRA Ribbon

Roland Chastain hat geschrieben:
Nur eine Frage: Ich habe nicht verstanden, was man mit die .bcbtn Dateien machen soll. :roll:


Die kannst Du in das ..\Styles\ Verzeichnis der BGRAControls kopieren. Sie dienen als Vorlage für die Tab- bzw. Ribbon-Buttons.

coasting
coasting
 
Beiträge: 21
Registriert: 30. Apr 2014, 13:32

Beitragvon coasting » 21. Mär 2016, 10:41 Re: BGRA Ribbon

Dragon hat geschrieben:@coasting
Die komponente sieht auf jedenfall ziemlich nice aus gute arbeit. Werde mir bei gelegenheit den code mal ansehen.


Leider ist es (noch) keine Komponente, sondern erstmal nur ein Template für ein neues Projekt. Ja, schau bitte mal in den Source Code, da ist sicherlich einiges was man besser machen kann... :)

coasting
coasting
 
Beiträge: 21
Registriert: 30. Apr 2014, 13:32

Beitragvon Dragon » 21. Mär 2016, 14:04 Re: BGRA Ribbon

Ja, schau bitte mal in den Source Code, da ist sicherlich einiges was man besser machen kann... :)

Ich bin auch noch relativer anfänger kann zu dem code wrsl deshalb nicht alzuviel sagen, auch wenn ich mich mit Lazarus auch schon ne weile beschäftige, aber der Tag hat Leider auch nur 24Stunden, hat wer lust das mal zu patchen, aber selber draus lernen kann ich bestimmt ein wenig oder vll tipps geben.
Dragon
 
Beiträge: 162
Registriert: 31. Jul 2013, 14:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80 | 
Nach oben

Beitragvon Roland Chastain » 21. Mär 2016, 17:45 Re: BGRA Ribbon

coasting hat geschrieben:Die kannst Du in das ..\Styles\ Verzeichnis der BGRAControls kopieren. Sie dienen als Vorlage für die Tab- bzw. Ribbon-Buttons.


Ich sehe. Danke.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Roland Chastain
 
Beiträge: 58
Registriert: 7. Jul 2012, 20:50
Wohnort: Dakar, Senegal

Beitragvon Mathias » 21. Mär 2016, 17:53 Re: BGRA Ribbon

Ich habe die Example BGRA Ribbon-Template.zip probiert, wen man dort die Unit Windows entfernt. läuft es sogar unter Linux.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4250
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon coasting » 21. Mär 2016, 19:59 Re: BGRA Ribbon

Mathias hat geschrieben:Ich habe die Example BGRA Ribbon-Template.zip probiert, wen man dort die Unit Windows entfernt. läuft es sogar unter Linux.

Ohh... das ist gut zu wissen! Hatte bisher noch keine Gelegenheit, es auf anderen Systemen als Windows 10 zu probieren.

Was mir ein wenig Kopfweh bereitet, ist das Zeichnen der Form ohne Titelleiste. Eigentlich funktioniert das schon, nur das die Form ohne Schatten gezeichnet wird und das das Resize ein wenig holprig aussieht. Aber beides weicht zu deutlich vom UI des Betriebssystems ab, daher belass ich es erst mal bei dem normalen Form Style.

coasting
coasting
 
Beiträge: 21
Registriert: 30. Apr 2014, 13:32

Beitragvon Mathias » 21. Mär 2016, 20:50 Re: BGRA Ribbon

Was mir ein wenig Kopfweh bereitet, ist das Zeichnen der Form ohne Titelleiste.

Damit habe ich auch schon geübt, dies ist gar nicht so einfach.
Ich wollte eine eigene Titel-Leiste machen, so wie es zB. Chrome hat.
Verstellt man BorderStyle auf bsNone, dann hat man nicht mal mehr ein Rand am Form, welcher man braucht um die Fenstergrösse zu verändern.
Die Titel-Leiste selbst könnte man mit einem Panel, welches auf Align=alTop ist, bauen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4250
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Soner » 22. Mär 2016, 00:57 Re: BGRA Ribbon

Für das Zeichnen ohne Titelzeile braucht ihr das:
Code: Alles auswählen
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  //Nicht vergessen: uses LCLIntf;
  SetWindowLong(Handle,GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not WS_CAPTION);
  Height:=ClientHeight;
  Refresh;
end;
 
// Falls man Formular verschieben will, dann man Mausklickereignis verwenden:
// Entwerde für Formular selbst oder bei Panel, Label usw.
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 {Diese 1. Möglichkeit für das Verschieben funktioniert bei Lazarus nicht,
   aber bei Delphi funktioniert's!}

  ReleaseCapture;
  Perform(WM_SYSCOMMAND, $F012, 0);
 
  {Diese 2. Möglichkeit für das Verschieben funktioniert bei Lazarus nicht,
   aber bei Delphi funktioniert's!}

  //SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
end;
 


Leider funktionieren die beiden Verschiebemöglichkeiten bei Lazarus nicht. Ich habe es trotzdem hinzugefügt. Einfach probieren ob das bei euch funktioniert.

Es gibt auch eine Ribboncomponente für Lazarus:
http://forum.lazarus.freepascal.org/index.php?topic=17126.15
Soner
 
Beiträge: 411
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon Mathias » 22. Mär 2016, 17:14 Re: BGRA Ribbon

Leider funktionieren die beiden Verschiebemöglichkeiten bei Lazarus nicht.

Das ist vielfach bei Lazarus so, ich hatte mal eigene Button für das Fenster gebaut, aber wie erwartet läuft dies nur mit Delphi und Windows.
Das Haupt-Problem wird die Platformübergreifung von Lazarus sein, man kann nicht den Fünfer und das Weggli haben.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4250
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon coasting » 22. Mär 2016, 21:04 Re: BGRA Ribbon

Soner hat geschrieben:Leider funktionieren die beiden Verschiebemöglichkeiten bei Lazarus nicht. Ich habe es trotzdem hinzugefügt. Einfach probieren ob das bei euch funktioniert.

Es gibt auch eine Ribboncomponente für Lazarus:
http://forum.lazarus.freepascal.org/index.php?topic=17126.15


Ich habe eine neue Version im ersten Post hochgeladen. Die ist nun Resizable und Moveable. Allerdings fehlt noch der Schatten der Form.

Screenshot.png


Die SpkToolbar kenne ich ebenfalls. Allerdings lassen sich damit keine Ribbons im neuen Stil erstellen. Ein weiterer Tip sind die FZControls https://code.google.com/archive/p/fz-controls/ Eine Sammlung von Komponenten die sich ebenfalls toll anpassen lassen.

coasting
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
coasting
 
Beiträge: 21
Registriert: 30. Apr 2014, 13:32

Beitragvon wp_xyz » 22. Mär 2016, 21:27 Re: BGRA Ribbon

coasting hat geschrieben:Die SpkToolbar kenne ich ebenfalls. Allerdings lassen sich damit keine Ribbons im neuen Stil erstellen.

Bei SpkToolbar kann man jede Farbe jedes Farbübergangs verändern, die "flachen" neuen Ribbons sollte man damit hinbekommen. Was fehlt, das ist diese 1. Seite (plus einige weitere Controls, z.B. einrastende Buttons - ich wollte das immer mal probieren, habe aber nie mehr die Energie aufgebracht, mich in diese Komponenten tiefer einzuarbeiten).

coasting hat geschrieben: Ein weiterer Tip sind die FZControls https://code.google.com/archive/p/fz-controls/ Eine Sammlung von Komponenten die sich ebenfalls toll anpassen lassen.

Leider funktioniert der Google-Link nicht mehr.
wp_xyz
 
Beiträge: 2611
Registriert: 8. Apr 2011, 08:01

Beitragvon coasting » 22. Mär 2016, 21:54 Re: BGRA Ribbon

wp_xyz hat geschrieben:Bei SpkToolbar kann man jede Farbe jedes Farbübergangs verändern, die "flachen" neuen Ribbons sollte man damit hinbekommen. Was fehlt, das ist diese 1. Seite (plus einige weitere Controls, z.B. einrastende Buttons - ich wollte das immer mal probieren, habe aber nie mehr die Energie aufgebracht, mich in diese Komponenten tiefer einzuarbeiten).

coasting hat geschrieben: Ein weiterer Tip sind die FZControls https://code.google.com/archive/p/fz-controls/ Eine Sammlung von Komponenten die sich ebenfalls toll anpassen lassen.

Leider funktioniert der Google-Link nicht mehr.


Hmm... komisch. Wenn ich auf den Link klicke, wird die Seite angezeigt. Hier https://code.google.com/archive/p/fz-controls/downloads ist die Downloadseite.

coasting
coasting
 
Beiträge: 21
Registriert: 30. Apr 2014, 13:32

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Units/Komponenten



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried