Das Package "Multis"

Zur Vorstellung von Komponenten und Units für Lazarus
wennerer
Beiträge: 507
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo François,
ich habe auf die Schnelle das MultiPanel etwas modifiziert. So könnte es jetzt aussehen:
AsGroupBox.png
AsGroupBox.png (17.83 KiB) 581 mal betrachtet
Ein Test Projekt hänge ich an. Für die Beschriftung über den Colorboxen habe ich eine eigene Komponente benutzt. Diese befindet sich auch in meinem GitHub Konto im Package Others.
Falls es dir gefällt kannst du ja mal testen und berichten. Die geänderte Variante ist in GitHub hochgeladen!

Viele Grüße
Bernd
Dateianhänge
project1.zip
(105.8 KiB) 33-mal heruntergeladen

folkeu08
Beiträge: 4
Registriert: Mi 17. Mai 2023, 23:11

Re: Das Package "Multis"

Beitrag von folkeu08 »

Hello Bernd,
Ich bin hin und weg, genau das ist es. Ich bin gültig.
Ich habe zuvor unter „Delphi“ (D7) programmiert und die Lizenzkosten wurden später für eine Einzelperson zu teuer.
Ich sende einige meiner alten Projekte erneut, um sie unter „Lazarus“ weiterzugeben. Meine Schwierigkeit besteht darin, dass in „Delphi“-Paketen verwendete Komponenten unter „Lazarus“ nicht vorhanden sind.
Ihre sind optisch nicht weit von denen entfernt, die ich in „Lazarus“ wiedergeben möchte.
Sie möchten Ihr Komponentenpaket mit neuen Typen vervollständigen?
Bei positivem Ergebnis erstelle ich für Sie Screenshots + einen Betriebsmodus der Komponente.
Danke
Francois

folkeu08
Beiträge: 4
Registriert: Mi 17. Mai 2023, 23:11

Re: Das Package "Multis"

Beitrag von folkeu08 »

Hi Bernd,
Ich möchte Ihnen zwei Komponentenvorschläge unterbreiten. Es geht um :
* eine Statusleiste mit einstellbarer Frequenz für blinkenden Text,
* eine Taste mit Mini-Status-LED im Inneren.

Ich entwerfe elektronische Kreationen und erstelle seit einiger Zeit Baugruppen, die über USB (HID-Modus: keine Treiberinstallation erforderlich) mit Software kommunizieren können.

Die Statusleiste zeigt daher an, ob die USB-Schnittstelle gut mit der Software verbunden ist.
Es ist notwendig, einem Textfeld der Statusleiste Folgendes zu ermöglichen:
- blinken oder nicht mit einer wählbaren Frequenz,
- Ändern Sie die Farbe des Textes (z. B. rot für nicht verbunden und grün für verbunden).

Das Hinzufügen einer kleinen rechteckigen LED im Inneren einer Taste ermöglicht die Visualisierung der gewählten Taste. Beispielsweise ist es bei einem Audioverstärker möglich, seine Eingangsquelle (Phono, CD, Radio, ...) auszuwählen. Es muss optisch der Eindruck entstehen, dass die Taste gedrückt und die anderen losgelassen werden, wie bei einer Tastatur. Die gedrückte Taste muss schnell durch eine kleine rechteckige LED erkannt werden, die in einer der 4 Ecken (definierbar) positioniert werden kann.

Die Schaltflächen stammen aus einem LMD-Paket für Delphi und die Statusleiste aus meinem Wiederherstellungsprojekt unter Lazarus. Mit diesem Projekt können Sie einen FM-Transmitter über USB steuern.
Thanks
François
Led_Button.png
Led_Button.png (7.5 KiB) 560 mal betrachtet
StatusBar.png
StatusBar.png (4.64 KiB) 560 mal betrachtet

wennerer
Beiträge: 507
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo François,
freut mich das es dir gefällt.
Du solltest jedoch zunächst wissen das ich ein Amateur bin der dies nur zum Spass macht. Ich kann dir nicht garantieren das immer alles stabil und wie gewünscht funktioniert.

Ich habe in meinen MultiButton eine Eigenschaft ShowTurnedOn eingefügt. Ist der MessageButton sichtbar, die Eigenschaft Allowsup auf true nimmt der MessageButton bei Down die Farbe an die bei MessageButton.PressedColor eingestellt ist. Natürlich musst du, falls du mehrere MultiButtons in einer Gruppe verwenden möchtest, diese mit einem GroupIndex verbinden. Siehe Seite 18 in der Englischen Hilfe PDF. In dem anghängten kleinen Projekt kannst du ja mal testen ob es dir gefällt. Die Änderung ist ins GitHub gepusht.

TurnedOn.png
TurnedOn.png (17.65 KiB) 543 mal betrachtet
Sobald ich etwas Zeit habe denke ich mal über eine LEDBar nach. Ich kann aber nichts versprechen.

Viele Grüße
Bernd
Dateianhänge
project1.zip
(3.56 KiB) 28-mal heruntergeladen

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Das Package "Multis"

Beitrag von wp_xyz »

folkeu08 hat geschrieben:
So 28. Mai 2023, 10:17
Ich möchte Ihnen zwei Komponentenvorschläge unterbreiten. Es geht um :
[...]
* eine Taste mit Mini-Status-LED im Inneren.
Ich meine, das müsste auch mit Bord-Mitteln zu machen sein, mit einem BitBtn oder einem SpeedButton. Allerdings: beim BitBtn kann der Zustand nicht einrasten. Bleibt nur der SpeedButton.

Das Einrasten schafft man dort, indem man den Buttons, die eine Gruppe bilden, einen GruppenIndex > 0 gibt.

Die LED realisiert man als Bitmap. In der "alten" Methode nimmt hängt man vier Bitmaps derselben Größen für vier Zustände nebeneinander zusammen und speichert das ab: das erste Bild wäre der Normalzustand, das zweite der für "disabled", das dritte für "clicked" und das vierte für den eingerasteten "Down" Zustand.

In Laz/main kann man die Bilder auch einzeln in eine ImageListe stecken und die diversen ImageIndizes zuweisen: ImageIndex für "normal", DisabledImageIndex für "disabled", HotImageIndex für "mouse-over", PressedImageIndex für "Mouse-Down" und SelectedImageIndex für den eingerasteten Zustand. Wenn einer dieser Indizes nicht angegeben ist, wird das Icon für den betreffenden Zustand automatisch aus dem normalen "ImageIndex" generiert. Die ImageListe hat auch den Vorteil, dass das Vorgehen high-dpi-kompatibel ist.

Die LED kann man dann mit Layout = blGlyphRight nach rechts verschieben, und die Caption kann man mit Spacing = -1 und Margin = 12 (z.B.) etwas schöner positionieren.

Siehe beigefügtes Projekt. Die Buttons in der linken Spalte verwenden die ImageList-Methode und funktioniert nur mit Laz/main richtig. Die Buttons in der rechten Spalten verwenden die alte Glyph-Methode und sollten immer funktionieren. Ich habe mir allerdings nicht die Mühe gemacht, schöne LED-Icons zu finden.
Dateianhänge
button_LED.zip
(3.94 KiB) 32-mal heruntergeladen

wennerer
Beiträge: 507
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo François,
ich habe mal eine mini Komponente zusammen geflickt. Diese habe ich in mein Package TheOthers ins GitHub gepusht. Habe es nur unter Linux Mint getestet und es kann noch vieles verbessert werden (wie immer). Wenn du möchtest kannst du es mal testen. Ein Testprojekt ist angehängt.

Viele Grüße
Bernd

Edit: Die TextBox kann jetzt blinken.

LEDBar.png
LEDBar.png (25.1 KiB) 528 mal betrachtet
Dateianhänge
project1.zip
(107.32 KiB) 29-mal heruntergeladen

Antworten