Autor Beitrag
Cruentus
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 16.10.10 17:26 
Hallo allerseits!

Bin zur Zeit an einem Programm, für das ich ein paar Fortschrittsbalken benötige. Wie diese prinzipiell funktionieren meine ich auch verstanden zu haben. Hab sie in der vertikalen Variante, d.h. der blaue Balken kommt von unten. Nun bräuchte ich aber das ganze so, dass der blaue Balken von oben kommt. Quasi das ganze nur gespiegelt.

Weiß jemand, wie man diese Drehung bewerkstelligt?

Vielen Dank schon mal
Cruentus
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Sa 16.10.10 18:47 
user profile iconCruentus hat folgendes geschrieben Zum zitierten Posting springen:
Bin zur Zeit an einem Programm, für das ich ein paar Fortschrittsbalken benötige. Wie diese prinzipiell funktionieren meine ich auch verstanden zu haben. Hab sie in der vertikalen Variante, d.h. der blaue Balken kommt von unten. Nun bräuchte ich aber das ganze so, dass der blaue Balken von oben kommt. Quasi das ganze nur gespiegelt.

Weiß jemand, wie man diese Drehung bewerkstelligt?


Hallo,

indem du Minimum und Maximum vertauschst. Ob das im Control direkt geht, habe ich nicht probiert, aber auf jeden Fall kannst du ja z.B. beim Kopieren von hundert Dateien anstatt die Dateinummer n einfach 100 - n übergeben.

Gruss Reinhard
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 16.10.10 18:52 
Soweit ich mich erinnere geht es nicht. Beim Versuch einen niedrigeren Wert zuzuweisen kommt glaube ich ein Fehler.

Bleibt noch selbst zeichnen, auch mit Shapes kann man eine simulieren.
Cruentus Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 16.10.10 18:52 
hmmm, danke schon mal für den Tipp. Delphi meckert aber, dass das Minimum außerhalb des zulässigen Bereichs liegt...
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 16.10.10 18:54 
Das ist ne Frage der Reihenfolge in der man das zuweist... Min darf nie >= max sein.

Ich würde das so machen: min-> -n, max->0. Wenn man das in der Reihenfolge macht, sollte es gehen.

EDIT: huch, okay, die TProgressBar macht das anders. Hatte da wohl eine andere Komponente im Kopf :gruebel:

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Sa 16.10.10 19:12 
Bei dem LMD-Tools SE (Freeware, ohne Sourcen) ist die Komponente TLMDProgressFill dabei. Die beherrscht links, rechts, hoch und runter. Außerdem noch Farbverläufe. www.lmdinnovative.com/download/
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 16.10.10 19:13 
Moin!

Ohne Kenntnis der Komponente: Wenn du die Farbe von Hintergrund und Balken bestimmen kannst, würde ich Max und Min Max und Min sein lassen, Hintergrund auf blau setzen und Balken auf weiß; dann den Balken runterzählen lassen, statt rauf.

Option?

Edit: Wobei eine Progressbar wohl noch so einfach ist, dass man sie "eben mal" mit Paintbox selbst basteln kann, und das Ganze dann auch wirklich in 2-3 Minuten gegessen ist - es sei denn, man benötigt wirklich exakt die und alle Funktionen, und muss das komplette Interface nachbilden.

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Sa 16.10.10 19:52 
Hey,

du kannst doch bei der ProgressBar die Position selbst bestimmten, also machs doch so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure DecProgressbarPos(Progbar: TProgressBar);
var
  NewPos: Integer;
begin
  NewPos := Progbar.Position - 1;
  if NewPos < Progbar.Min then
    NewPos := Progbar.Max;
  Progbar.Position := NewPos;
end;


€: oder noch einfacher:
ausblenden Delphi-Quelltext
1:
2:
ProgBar.Step := -1;
Progbar.StepIt;


MfG Bergmann

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 17.10.10 13:43 
Mit ein wenig API-Fummeleien kann man aber auch einfach das DC (Canvas) der Progressbar mit nem andren Koordinaten-System versehen. Source für sowas liegt aber in ner GANZ entfernten Ecke meiner Festplatte ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.