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.