diff options
Diffstat (limited to 'uidesigner')
-rw-r--r-- | uidesigner/vfddesigner.pas | 31 | ||||
-rw-r--r-- | uidesigner/vfdwidgetclass.pas | 2 | ||||
-rw-r--r-- | uidesigner/vfdwidgets.pas | 1 |
3 files changed, 21 insertions, 13 deletions
diff --git a/uidesigner/vfddesigner.pas b/uidesigner/vfddesigner.pas index 9c8e27c8..c866f3bb 100644 --- a/uidesigner/vfddesigner.pas +++ b/uidesigner/vfddesigner.pas @@ -314,7 +314,6 @@ var pmenu: TfpgPopupMenu; begin // writeln('TFormDesigner.MsgMouseUp'); - msg.Stop := True; FDragging := False; shift := (ssShift in msg.Params.mouse.shiftstate); @@ -327,6 +326,12 @@ begin else if not wgd.FVFDClass.Container then wgc := nil; + // Should we block mouse msg to actual widget? + if Assigned(wgd) then + msg.Stop := wgd.FVFDClass.BlockMouseMsg + else + msg.Stop := True; + if wgc <> nil then begin DeSelectAll; @@ -373,18 +378,18 @@ begin UpdatePropWin; - if msg.Params.mouse.Buttons = 3 then {right mouse button } - begin - if TfpgWidget(msg.Dest).ClassType = TfpgPageControl then - begin - writeln('Right click on page control'); - wgd := WidgetDesigner(TfpgWidget(msg.dest)); - if wgd <> nil then - pmenu := wgd.FVFDClass.CreatePopupMenu(TfpgWidget(msg.dest)); - if Assigned(pmenu) then - pmenu.ShowAt(wgd.Widget, msg.Params.mouse.x, msg.Params.mouse.y); - end; - end; + //if msg.Params.mouse.Buttons = 3 then {right mouse button } + //begin + //if TfpgWidget(msg.Dest).ClassType = TfpgPageControl then + //begin + //writeln('Right click on page control'); + //wgd := WidgetDesigner(TfpgWidget(msg.dest)); + //if wgd <> nil then + //pmenu := wgd.FVFDClass.CreatePopupMenu(TfpgWidget(msg.dest)); + //if Assigned(pmenu) then + //pmenu.ShowAt(wgd.Widget, msg.Params.mouse.x, msg.Params.mouse.y); + //end; + //end; end; procedure TFormDesigner.MsgMouseMove(var msg: TfpgMessageRec); diff --git a/uidesigner/vfdwidgetclass.pas b/uidesigner/vfdwidgetclass.pas index 98d89f31..b2dd6e6d 100644 --- a/uidesigner/vfdwidgetclass.pas +++ b/uidesigner/vfdwidgetclass.pas @@ -77,6 +77,7 @@ type WidgetIconName: string; NameBase: string; Container: boolean; + BlockMouseMsg: boolean; constructor Create(aClass: TWidgetClass); destructor Destroy; override; function AddProperty(apropname: string; apropclass: TVFDPropertyClass; desc: string): TVFDWidgetProperty; @@ -115,6 +116,7 @@ begin Description := ''; NameBase := 'Widget'; Container := False; + BlockMouseMsg := True; end; function TVFDWidgetClass.CreateWidget(AOwner: TComponent): TfpgWidget; diff --git a/uidesigner/vfdwidgets.pas b/uidesigner/vfdwidgets.pas index 65057c84..a60427d0 100644 --- a/uidesigner/vfdwidgets.pas +++ b/uidesigner/vfdwidgets.pas @@ -554,6 +554,7 @@ begin wc.AddProperty('TabPosition', TPropertyEnum, ''); wc.WidgetIconName := 'vfd.pagecontrol'; wc.Container := True; + wc.BlockMouseMsg := False; RegisterVFDWidget(wc); // TabSheet |