Suche Statusbar, ähnlich Progressbar [erledigt]
Suche Statusbar, ähnlich Progressbar [erledigt]
Moin,
kennt jemand eine fertige Komponente, mit der man einen Status ähnlich einer Progressbar darstellen kann? Ich meine sowas in der Art (schnell per Gimp erstellt):
kennt jemand eine fertige Komponente, mit der man einen Status ähnlich einer Progressbar darstellen kann? Ich meine sowas in der Art (schnell per Gimp erstellt):
- Dateianhänge
-
- Statusbar.png (1.19 KiB) 2173 mal betrachtet
Zuletzt geändert von Michl am Do 25. Aug 2022, 08:47, insgesamt 1-mal geändert.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 582
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 3.8
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: Suche Statusbar, ähnlich Progressbar
Hast du schon mal bei Eye-Candy Controls nachgeschaut ob was für dich dabei ist?
https://wiki.freepascal.org/Eye-Candy_Controls
Download via OPM in Lazarus.
https://wiki.freepascal.org/Eye-Candy_Controls
Download via OPM in Lazarus.
LG Maik
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Re: Suche Statusbar, ähnlich Progressbar
Ich weiß nicht, ist es das wert, sich in die Abhängigkeit von Fremdkomponenten zu begeben? Basierend auf einer TPaintBox und in einen Frame gepackt, müsste das doch mit ein paar Zeilen Code zu erledigen sein.
Re: Suche Statusbar, ähnlich Progressbar
ich habe so Dinge auch schon einfach auf die Canvas eines Panel gezeichnet.
Gruß, Michael
Re: Suche Statusbar, ähnlich Progressbar
Wenn ich mir die Images so anschaue, wird immer alles von links weg gezeichnet. Hilft mir leider nicht, danke trotzdem.sstvmaster hat geschrieben: Mi 24. Aug 2022, 22:26Hast du schon mal bei Eye-Candy Controls nachgeschaut ob was für dich dabei ist?
Da es nur ein kleines privates Projekt für einen Bekannten ist, wäre das mir egal. Es sollte nur schnellst möglich erledigt sein.wp_xyz hat geschrieben: Do 25. Aug 2022, 01:07Ich weiß nicht, ist es das wert, sich in die Abhängigkeit von Fremdkomponenten zu begeben?
OK, dann zeichne ich diese selbst. Danke an alle fürs mitdenken. Hätte ja sein können, daß ich es einfach hätte zusammenklicken können.

Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Suche Statusbar, ähnlich Progressbar [erledigt]
Mit Shapes kann man bisschen abkürzen; muss man nur Größe und Position festlegen.
Im einfachsten Fall ein TPanel und ein TShape
Im einfachsten Fall ein TPanel und ein TShape
Gruß, Michael
- gladio
- Beiträge: 223
- Registriert: Sa 21. Jun 2014, 06:15
- OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Suche Statusbar, ähnlich Progressbar [erledigt]
In den RX-Komponenten ist sowas dabei.
Vielleicht taugt das für deine Zwecke.
Vielleicht taugt das für deine Zwecke.
Re: Suche Statusbar, ähnlich Progressbar [erledigt]
Habe mir das Package installiert, konnte da aber sowas in der Art nicht entdecken. Keine Ahnung.gladio hat geschrieben: Do 25. Aug 2022, 13:39In den RX-Komponenten ist sowas dabei.
Vielleicht taugt das für deine Zwecke.
Wenn es jemand mal braucht, ich habe das jetzt selbst umgesetzt und meinen Komponenten zugefügt, zu finden per SVN https://svn.code.sf.net/p/michlpackages ... hlcontrols:
Code: Alles auswählen
procedure TTrendBar.Paint;
var
LSize: Integer;
begin
inherited Paint;
Canvas.Brush.Color := ClientColor;
Canvas.FillRect(1, 2, Width - 1, Height - 2);
Canvas.Brush.Color := BorderColor;
Canvas.FrameRect(0, 1, Width, Height - 1);
Canvas.Pen.Color := BorderColor;
Canvas.Line(Width div 2, 0, Width div 2, Height);
if Value > 0 then
begin
Canvas.Brush.Color := ValuePositiveColor;
LSize := Min(Width - Width Div 2 - 4, Trunc(Value / 200 * (Width - 4)));
Canvas.FillRect(Width div 2 + 1, 4, Width div 2 + 1 + LSize, Height - 4);
end
else if Value < 0 then begin
Canvas.Brush.Color := ValueNegativeColor;
LSize := Max(3, Width div 2 + Trunc(Value / 200 * (Width - 4)));
Canvas.FillRect(LSize, 4, Width div 2, Height - 4);
end;
end;
- Dateianhänge
-
- Bsp.png (4.86 KiB) 2022 mal betrachtet
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;