mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 12:59:16 +02:00
LCL: Adds TProgressBar support for lcl-fpgui. Issue #24167, patch from Graeme
git-svn-id: trunk@40666 -
This commit is contained in:
parent
9144f86c55
commit
dc58fc0884
@ -112,6 +112,7 @@ uses
|
|||||||
FpGuiWSForms,
|
FpGuiWSForms,
|
||||||
FpGuiWSMenus,
|
FpGuiWSMenus,
|
||||||
FpGuiWSStdCtrls,
|
FpGuiWSStdCtrls,
|
||||||
|
FpGuiWSComCtrls,
|
||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
Graphics, buttons, Menus;
|
Graphics, buttons, Menus;
|
||||||
|
|
||||||
|
@ -101,6 +101,12 @@ type
|
|||||||
private
|
private
|
||||||
protected
|
protected
|
||||||
public
|
public
|
||||||
|
published
|
||||||
|
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override;
|
||||||
|
class procedure DestroyHandle(const AWinControl: TWinControl); override;
|
||||||
|
class procedure ApplyChanges(const AProgressBar: TCustomProgressBar); override;
|
||||||
|
class procedure SetPosition(const AProgressBar: TCustomProgressBar; const NewPosition: integer); override;
|
||||||
|
// class procedure SetStyle(const AProgressBar: TCustomProgressBar; const NewStyle: TProgressBarStyle); override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TFpGuiWSCustomUpDown }
|
{ TFpGuiWSCustomUpDown }
|
||||||
@ -162,6 +168,38 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
fpg_progressbar;
|
||||||
|
|
||||||
|
{ TFpGuiWSProgressBar }
|
||||||
|
|
||||||
|
class function TFpGuiWSProgressBar.CreateHandle(const AWinControl: TWinControl;
|
||||||
|
const AParams: TCreateParams): TLCLIntfHandle;
|
||||||
|
begin
|
||||||
|
Result := TLCLIntfHandle(TFPGUIPrivateProgressBar.Create(AWinControl, AParams));
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TFpGuiWSProgressBar.DestroyHandle(const AWinControl: TWinControl);
|
||||||
|
begin
|
||||||
|
TFPGUIPrivateProgressBar(AWinControl.Handle).Free;
|
||||||
|
AWinControl.Handle := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TFpGuiWSProgressBar.ApplyChanges(
|
||||||
|
const AProgressBar: TCustomProgressBar);
|
||||||
|
begin
|
||||||
|
SetPosition(AProgressBar, AProgressBar.Position);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TFpGuiWSProgressBar.SetPosition(
|
||||||
|
const AProgressBar: TCustomProgressBar; const NewPosition: integer);
|
||||||
|
var
|
||||||
|
lProgressBar: TfpgProgressBar;
|
||||||
|
begin
|
||||||
|
lProgressBar := TFPGUIPrivateProgressBar(AProgressBar.Handle).ProgressBar;
|
||||||
|
lProgressBar.Position := NewPosition;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TFpGuiWSCustomNotebook }
|
{ TFpGuiWSCustomNotebook }
|
||||||
|
|
||||||
class function TFpGuiWSCustomNotebook.CreateHandle(
|
class function TFpGuiWSCustomNotebook.CreateHandle(
|
||||||
|
@ -175,7 +175,8 @@ end;
|
|||||||
|
|
||||||
function RegisterCustomProgressBar: Boolean; alias : 'WSRegisterCustomProgressBar';
|
function RegisterCustomProgressBar: Boolean; alias : 'WSRegisterCustomProgressBar';
|
||||||
begin
|
begin
|
||||||
Result := False;
|
RegisterWSComponent(TCustomProgressBar, TFpGuiWSProgressBar);
|
||||||
|
Result := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function RegisterCustomUpDown: Boolean; alias : 'WSRegisterCustomUpDown';
|
function RegisterCustomUpDown: Boolean; alias : 'WSRegisterCustomUpDown';
|
||||||
|
@ -42,7 +42,7 @@ uses
|
|||||||
fpg_widget, fpg_form, fpg_button, fpg_combobox, fpg_dialogs,
|
fpg_widget, fpg_form, fpg_button, fpg_combobox, fpg_dialogs,
|
||||||
fpg_edit, fpg_checkbox, fpg_radiobutton, fpg_tab, fpg_memo,
|
fpg_edit, fpg_checkbox, fpg_radiobutton, fpg_tab, fpg_memo,
|
||||||
fpg_menu, fpg_label, fpg_listbox, fpg_panel,
|
fpg_menu, fpg_label, fpg_listbox, fpg_panel,
|
||||||
fpg_popupwindow, fpg_base, fpguiproc;
|
fpg_popupwindow, fpg_base, fpg_progressbar, fpguiproc;
|
||||||
|
|
||||||
|
|
||||||
type
|
type
|
||||||
@ -471,6 +471,14 @@ type
|
|||||||
procedure PopUp(X, Y: Integer);
|
procedure PopUp(X, Y: Integer);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TFPGUIPrivateProgressBar = class(TFPGUIPrivateWidget)
|
||||||
|
public
|
||||||
|
procedure CreateWidget(const AParams: TCreateParams); override;
|
||||||
|
public
|
||||||
|
function ProgressBar: TfpgProgressBar;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
var
|
var
|
||||||
GlobalMouseCursorPos: TPoint;
|
GlobalMouseCursorPos: TPoint;
|
||||||
GlobalMouseCursorPosWidget: TFPGUIPrivateWidget;
|
GlobalMouseCursorPosWidget: TFPGUIPrivateWidget;
|
||||||
@ -480,6 +488,18 @@ implementation
|
|||||||
uses
|
uses
|
||||||
LCLMessageGlue;
|
LCLMessageGlue;
|
||||||
|
|
||||||
|
{ TFPGUIPrivateProgressBar }
|
||||||
|
|
||||||
|
procedure TFPGUIPrivateProgressBar.CreateWidget(const AParams: TCreateParams);
|
||||||
|
begin
|
||||||
|
Widget := TfpgProgressBar.Create(GetParentContainerWidget());
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFPGUIPrivateProgressBar.ProgressBar: TfpgProgressBar;
|
||||||
|
begin
|
||||||
|
Result := TfpgProgressBar(Widget);
|
||||||
|
end;
|
||||||
|
|
||||||
{ TFPGUIPrivate }
|
{ TFPGUIPrivate }
|
||||||
|
|
||||||
function TFPGUIPrivate._AddRef: longint; stdcall;
|
function TFPGUIPrivate._AddRef: longint; stdcall;
|
||||||
|
Loading…
Reference in New Issue
Block a user