You've already forked lazarus-ccr
jvcllaz: Fix dragging of window of XPCtrls SimpleDemo at title bar.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5416 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -23,6 +23,8 @@ object frmMain: TfrmMain
|
|||||||
OnPaint = cntHeaderPaint
|
OnPaint = cntHeaderPaint
|
||||||
Align = alTop
|
Align = alTop
|
||||||
OnMouseDown = cntHeaderMouseDown
|
OnMouseDown = cntHeaderMouseDown
|
||||||
|
OnMouseMove = cntHeaderMouseMove
|
||||||
|
OnMouseUp = cntHeaderMouseUp
|
||||||
object btnClose: TJvXPToolButton
|
object btnClose: TJvXPToolButton
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
@ -178,7 +180,6 @@ object frmMain: TfrmMain
|
|||||||
Height = 41
|
Height = 41
|
||||||
Top = 24
|
Top = 24
|
||||||
Action = acBtn1
|
Action = acBtn1
|
||||||
Caption = '&Generate'
|
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
StyleManager = styleOffice
|
StyleManager = styleOffice
|
||||||
end
|
end
|
||||||
@ -187,7 +188,6 @@ object frmMain: TfrmMain
|
|||||||
Height = 41
|
Height = 41
|
||||||
Top = 24
|
Top = 24
|
||||||
Action = acBtn2
|
Action = acBtn2
|
||||||
Caption = '&Optimize'
|
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
Layout = blGlyphRight
|
Layout = blGlyphRight
|
||||||
StyleManager = styleOffice
|
StyleManager = styleOffice
|
||||||
@ -197,7 +197,6 @@ object frmMain: TfrmMain
|
|||||||
Height = 41
|
Height = 41
|
||||||
Top = 24
|
Top = 24
|
||||||
Action = acBtn4
|
Action = acBtn4
|
||||||
Caption = 'C++ Code'
|
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
Layout = blGlyphBottom
|
Layout = blGlyphBottom
|
||||||
StyleManager = styleOffice
|
StyleManager = styleOffice
|
||||||
@ -207,7 +206,6 @@ object frmMain: TfrmMain
|
|||||||
Height = 41
|
Height = 41
|
||||||
Top = 24
|
Top = 24
|
||||||
Action = acBtn3
|
Action = acBtn3
|
||||||
Caption = '&Copy Path'
|
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
Layout = blGlyphTop
|
Layout = blGlyphTop
|
||||||
StyleManager = styleOffice
|
StyleManager = styleOffice
|
||||||
|
@ -29,9 +29,9 @@ unit MainFrm;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
|
LCLIntf, LCLProc, LCLType,
|
||||||
Dialogs, ActnList, ImgList, JvXPCore, JvXPCheckCtrls, JvXPButtons, ExtCtrls,
|
SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ActnList, StdCtrls, ExtCtrls,
|
||||||
StdCtrls, JvXPContainer, JvComponent, JvExControls;
|
JvXPCore, JvXPCheckCtrls, JvXPButtons, JvXPContainer;
|
||||||
|
|
||||||
type
|
type
|
||||||
{ TfrmMain }
|
{ TfrmMain }
|
||||||
@ -71,7 +71,6 @@ type
|
|||||||
lbInternalPage: TLabel;
|
lbInternalPage: TLabel;
|
||||||
lbWebEditor: TLabel;
|
lbWebEditor: TLabel;
|
||||||
shpSeperator: TShape;
|
shpSeperator: TShape;
|
||||||
// styleOffice: TJvXPStyleManager;
|
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure acBtn1Execute(Sender: TObject);
|
procedure acBtn1Execute(Sender: TObject);
|
||||||
procedure acBtn3Execute(Sender: TObject);
|
procedure acBtn3Execute(Sender: TObject);
|
||||||
@ -79,9 +78,13 @@ type
|
|||||||
procedure chkOfficeStyleClick(Sender: TObject);
|
procedure chkOfficeStyleClick(Sender: TObject);
|
||||||
procedure chkToogleEnableClick(Sender: TObject);
|
procedure chkToogleEnableClick(Sender: TObject);
|
||||||
procedure cntHeaderMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
procedure cntHeaderMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
procedure cntHeaderMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
|
||||||
|
procedure cntHeaderMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
procedure cntHeaderPaint(Sender: TObject; Rect: TRect; ACanvas: TCanvas; AFont: TFont);
|
procedure cntHeaderPaint(Sender: TObject; Rect: TRect; ACanvas: TCanvas; AFont: TFont);
|
||||||
procedure cntNetPanelPaint(Sender: TObject; Rect: TRect; ACanvas: TCanvas; AFont: TFont);
|
procedure cntNetPanelPaint(Sender: TObject; Rect: TRect; ACanvas: TCanvas; AFont: TFont);
|
||||||
private
|
private
|
||||||
|
FDragStartPt: TPoint;
|
||||||
|
FDragging: Boolean;
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
public
|
public
|
||||||
{ Public declarations }
|
{ Public declarations }
|
||||||
@ -103,7 +106,7 @@ implementation
|
|||||||
Arguments: hWindow: THANDLE; Hide: boolean = True
|
Arguments: hWindow: THANDLE; Hide: boolean = True
|
||||||
Result: DWORD
|
Result: DWORD
|
||||||
-----------------------------------------------------------------------------}
|
-----------------------------------------------------------------------------}
|
||||||
|
(*
|
||||||
function RemoveTitleBar(hWindow: THANDLE; Hide: boolean = True): DWORD;
|
function RemoveTitleBar(hWindow: THANDLE; Hide: boolean = True): DWORD;
|
||||||
var
|
var
|
||||||
R: TRect;
|
R: TRect;
|
||||||
@ -119,7 +122,7 @@ begin
|
|||||||
SetWindowPos(hWindow, 0, 0, 0, (R.Right - R.Left), (R.Bottom - R.Top),
|
SetWindowPos(hWindow, 0, 0, 0, (R.Right - R.Left), (R.Bottom - R.Top),
|
||||||
SWP_NOMOVE or SWP_NOZORDER or SWP_FRAMECHANGED or SWP_NOSENDCHANGING);
|
SWP_NOMOVE or SWP_NOZORDER or SWP_FRAMECHANGED or SWP_NOSENDCHANGING);
|
||||||
end;
|
end;
|
||||||
|
*)
|
||||||
{-----------------------------------------------------------------------------
|
{-----------------------------------------------------------------------------
|
||||||
Procedure: TfrmMain.FormCreate
|
Procedure: TfrmMain.FormCreate
|
||||||
Author: mh
|
Author: mh
|
||||||
@ -130,7 +133,8 @@ end;
|
|||||||
|
|
||||||
procedure TfrmMain.FormCreate(Sender: TObject);
|
procedure TfrmMain.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
RemoveTitleBar(Handle);
|
// RemoveTitleBar(Handle);
|
||||||
|
BorderStyle := bsNone;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{-----------------------------------------------------------------------------
|
{-----------------------------------------------------------------------------
|
||||||
@ -171,8 +175,24 @@ end;
|
|||||||
procedure TfrmMain.cntHeaderMouseDown(Sender: TObject;
|
procedure TfrmMain.cntHeaderMouseDown(Sender: TObject;
|
||||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
begin
|
begin
|
||||||
ReleaseCapture;
|
FDragStartPt := Point(X, Y);
|
||||||
Perform(WM_SYSCOMMAND, $F012, 0);
|
FDragging := true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmMain.cntHeaderMouseMove(Sender: TObject; Shift: TShiftState;
|
||||||
|
X, Y: Integer);
|
||||||
|
begin
|
||||||
|
if FDragging then
|
||||||
|
begin
|
||||||
|
Left := Left + X - FDragStartPt.X;
|
||||||
|
Top := Top + Y - FDragStartPt.Y;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmMain.cntHeaderMouseUp(Sender: TObject; Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);
|
||||||
|
begin
|
||||||
|
FDragging := false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{-----------------------------------------------------------------------------
|
{-----------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user