AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Progressbar Position per Maus verändern

Ein Thema von Larsi · begonnen am 28. Okt 2008 · letzter Beitrag vom 28. Okt 2008
Antwort Antwort
Seite 1 von 2  1 2      
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#1

Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 14:42
Hi,
also ich habe eine Progressbar die ich mit der Maus verstellen möchte. Also die Position der Progressbar. Wie mache ich das? Im Grunde genommen soll das so funktionieren wie bei einer Trackbar.

MFG Lars Wiltfang
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 14:52
Und warum nimmst du keine Trackbar? Dazu ist sie da. Eine Progressbar ist rein passiv und diuent, wie der Name schon sagt, dazu einen Fortschritt zu visualisieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 14:54
Weil ich für ein Projekt keine Trackbar verwenden will. Aus designtechnischen Gründen (Carbon Copy Komponenten haben keine TRackbar und ich will das mein Programm wie ein Mac Programm aussieht und die Trackbar würde alles kaputt machen ^^)
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 14:54
Du hast bei der ProgressBar ein OnMouseDown Ereignis, damit kannst du das realisieren.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 14:56
Also ich habe in das Mouse Down ereigniss bereits folgendes reingeschrieben:
ccprogressbar2.Position := ccprogressbar2.ScreenToClient(Mouse.CursorPos).x; Aber da das Maximum der Progressbar variabel sein kann geht das nicht.
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 14:57
Da ist dann Prozentrechnung angesagt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 14:59
Müsste so gehen:

Delphi-Quellcode:
procedure TForm1.ProgressBar1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  MouseX: Integer;
begin
  MouseX := round(X / (ProgressBar1.Width / 100.0)); // -> oder anstatt 100.0 ProgressBar1.Max

  ProgressBar1.Position := MouseX;
end;
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 15:01
Zitat von Larsi:
Weil ich für ein Projekt keine Trackbar verwenden will. Aus designtechnischen Gründen (Carbon Copy Komponenten haben keine TRackbar und ich will das mein Programm wie ein Mac Programm aussieht und die Trackbar würde alles kaputt machen ^^)
Na dann viel Spass mit den benutzer, die rumraten, wie man die Fortschrittsanzeige "bedient". Auch wenn das unter MAC üblich ist, unter Windows ist es das nicht. Eine intuitive Bedienung ist was anderes.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 15:02
Zitat von Luckie:
Zitat von Larsi:
Weil ich für ein Projekt keine Trackbar verwenden will. Aus designtechnischen Gründen (Carbon Copy Komponenten haben keine TRackbar und ich will das mein Programm wie ein Mac Programm aussieht und die Trackbar würde alles kaputt machen ^^)
Na dann viel Spass mit den benutzer, die rumraten, wie man die Fortschrittsanzeige "bedient". Auch wenn das unter MAC üblich ist, unter Windows ist es das nicht. Eine intuitive Bedienung ist was anderes.
Beim MAC ist mir so eine "Trackbar" bis jetzt auch noch nicht aufgefallen.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Volle

Registriert seit: 25. Nov 2003
Ort: Stuttgart
100 Beiträge
 
Delphi 7 Personal
 
#10

Re: Progressbar Position per Maus verändern

  Alt 28. Okt 2008, 15:02
Zitat von divBy0:
Müsste so gehen:

Delphi-Quellcode:
procedure TForm1.ProgressBar1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  MouseX: Integer;
begin
  MouseX := round(X / (ProgressBar1.Width / 100.0));

  ProgressBar1.Position := MouseX;
end;
wäre es nicht besser es so zu machen?

Delphi-Quellcode:
...
MouseX:=round((X*ProgressBar1.Max)/ProgressBar1.Width);
...
ich mein wegen integer und kuerzung ..

[edit]
achso verdammt du hast ja 100.0 geschrieben
[/edit]
cYa n' sTay [ S ! C ]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz