![]() |
TProgressbar ohne Rahmen
Hallöchen,
und zwar wollte ich eine Progressbar ohne diesen Standart Rahmen haben. Ich hab mich schon überall durchgewurschtelt und dabei fokgendes gefunden. Leider bin ich nicht so der Delphi "Pro" um das auf anhieb zu verstehen, aber ich glaube ich muss den Quellcode als deue Komponente hinzufügen. Kann mir da vielleicht jemand einen Tipp geben? Zitat:
|
Re: TProgressbar ohne Rahmen
Hi,
du hast ja leider nicht angegeben welche Delphiversion du hast, bis Delphi 7 kannst du die Komponente jedenfalls unter dem Menü Component-> Install Component installieren. Oder wenn du sie nicht gleich installieren möchtest, dann erstellst du ein neues Projekt. Dann setzt du eine TProgressBar auf das Formular und fügst diesen Code ein.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls; type TProgressBar = class(ComCtrls.TProgressBar) procedure WMNCPAINT(var Msg: TMessage); message WM_NCPAINT; private FShowFrame: boolean; procedure SetShowFrame(Value: boolean); public constructor Create(AOwner: TComponent); override; published property ShowFrame: boolean read FShowFrame write SetShowFrame; end; type TForm1 = class(TForm) ProgressBar1: TProgressBar; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TNProgressBar } constructor TProgressBar.Create(AOwner: TComponent); begin inherited; FShowFrame := false;//True; self.Position:= 20;//Test end; procedure TProgressBar.SetShowFrame(Value: boolean); begin if FShowFrame <> Value then begin FShowFrame:= Value; RecreateWnd; end; end; procedure TProgressBar.WMNCPAINT(var Msg: TMessage); var DC: HDC; RC: TRect; begin if ShowFrame then begin inherited; Invalidate; end else begin DC := GetWindowDC(Handle); try Windows.GetClientRect(Handle, RC); with RC do begin Inc(Right, 2); Inc(Bottom, 2); end; Windows.FillRect(DC, RC, Brush.Handle); finally ReleaseDC(Handle, DC); end; end; end; end. |
Re: TProgressbar ohne Rahmen
Ich verwende Delphi 5.
Wie installiere ich die Komponente Richtig? Und muss ich Diese dann bei jeden Projekt in der user-Liste aufnehmen? Ich habe bisher nur mit den Standard-Komponenten von Borland gearbeitet. Hatte mir auch schon mal vor Indie zu installieren, da ich aber nicht so direkt Hintergestiegen bin wie, habe ich es gelassen. |
Re: TProgressbar ohne Rahmen
Zitat:
![]() Zitat:
|
Re: TProgressbar ohne Rahmen
Hat leider nicht das gewünschte Ergebnis gebracht. Der Border scheint immer noch da zu sein, bei der neuen Komponente.
So bin ich vor gegangen (Delphi 5): Komponente -> Neue Komponente... VorfahrTyp: TProgressbar Klassenname: TNProgressBar Palettenseite: Controls Name der Unit: NewProgress Suchpfad: <Standart> dann OK Nun habe ich die Unit mit der vorgegebenen Ersetzt und Compilieren gedrückt. Die Komponente wurde erfolgreich hinzugefügt. Hbae ich etwas falsch gemacht? |
Re: TProgressbar ohne Rahmen
Wenn du alles richtig gemacht hast, dann müsste im OI jetzt die Eigenschaft ShowFrame hinzugekommen sein. Die müsstest du dann auf false stellen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz