Autor Beitrag
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 10.09.03 18:25 
Salü zusammen

Ich möchte eine ProgressBar in meine StatusBar integrieren.

Wie ich die ProgressBar über die ganze StatusBar lege, ist mir klar.
Jedoch möchte ich die StatusBar nur in einem einzigen Panel anzeigen.

hat jemand eine Ahnung, wie das gehen könnte??
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 10.09.03 20:23 
such mal hier im forum !!!
Suche in: Delphi-Forum, Delphi-Library STATUSBAR AND PROGRESS*

_________________
In the beginning was the word.
And the word was content-type: text/plain.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mi 10.09.03 20:23 
Hi,

das geht z.B. folgendermaßen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure PutCtrlInPanel(wCtrl: TWincontrol; StatusBar: TStatusBar; PANEL_ID: Integer);
var
  ARect: TRect;
begin
  StatusBar.Perform((WM_USER + 10), PANEL_ID, Integer(@ARect));
  wCtrl.Parent := StatusBar;
  wCtrl.BoundsRect := ARect;
end;

procedure TfrmMain.FormShow(Sender: TObject);
begin
  PutCtrlInPanel(ProgressBar1, StatusBar1, 2);
end;


Mit dieser Methode kann man auch andere WinControls in eine Statusbar einfügen, wie z.B. einen Button.

MFG

- Ernesto -
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 10.09.03 21:07 
Und was macht /ist WM_USER + 10? :shock:

www.luckie-online.de...cks/komponenten.html untere drittel: "Komponente in Statusbar".
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 10.09.03 22:58 
Vielen Dank euch allen!

Werde die Funktion am nächsten Montag in der Firma testen... habe bis dahin eben noch Schule.. :x
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mi 10.09.03 23:06 
Hi,

Suche in: Delphi-Forum, Delphi-Library WM_USER

Was gefällt Dir an dem Code nicht, dass du nochmal einen Link auf Code setzst, der fast das gleiche macht? Funktioniert doch einwandfrei. Bei dir etwa nicht? Kriegst du einen Fehler?

Ausserdem ist WM_USER geschickter als SB_GETRECT, da man die CommCtrls.pas nicht einbinden muss.

Und das hier
ausblenden Delphi-Quelltext
1:
wCtrl.BoundsRect := ARect;					


ist ebenfalls geschickter als das
ausblenden Delphi-Quelltext
1:
2:
3:
4:
progressbar1.top := r.top; //set size of   
 progressbar1.left := r.left; //Progressbar to  
 progressbar1.width := r.right-r.left; //fit with panel 
 progressbar1.height := r.bottom-r.top;


MFG

- Ernesto -
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 11.09.03 03:18 
Ich frage, weil WM_USER+10 eien benutzerdefinierte Nachricht ist. Woher weiß jetzt diese Zeile:
ausblenden Delphi-Quelltext
1:
StatusBar.Perform((WM_USER + 10), PANEL_ID, Integer(@ARect));					

was es damit anfangen soll?
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Do 11.09.03 09:08 
Hi,

Luckie hat folgendes geschrieben:
Ich frage, weil WM_USER+10 eien benutzerdefinierte Nachricht ist. Woher weiß jetzt diese Zeile:
Sourcecode:
StatusBar.Perform((WM_USER + 10), PANEL_ID, Integer(@ARect));

was es damit anfangen soll?


Weil (WM_USER + 10) dasselbe ist wie SB_GETRECT, sprich die Selbe Konstante. Daher finde ich es besser als SB_GETRECT, weil man nicht die CommCtrl.pas einbinden muss, wenn man sie sonst nicht braucht.

Hättest auch gleich so fragen können, dann hätt ich dich nicht missverstanden :wink:

MFG

- Ernesto -


Zuletzt bearbeitet von ErnestoChe am Do 11.09.03 13:40, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 11.09.03 09:21 
OK. Dann hätte ich das aber so gemacht:
ausblenden Delphi-Quelltext
1:
2:
const
  SB_GETRECT = WM_USER + 10;

Dann wäre es gleich um einiges klarer gewesen.
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 15.09.03 12:46 
Titel: JUHUII....
Es funktioniert Einwandfrei.. :-)

*freude herscht*
florian
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win XP Home
D5 Enterprise
BeitragVerfasst: Fr 13.08.04 13:36 
Titel: Re: JUHUII....
DaBass hat folgendes geschrieben:
Es funktioniert Einwandfrei.. :-)

*freude herscht*


tjo..... bei mir eigentlich auch, nur ist die progressBar mit der "Luna Haut" :lol: etwas zu hoch... wat muss ich am code änder, damit dat dingens (die progressBar) nich ganz so hoch ist?

danke für die hilfe im voraus! :D

_________________
"640Kb should be enough for anybody." Bill Gates (in den 80'ern)