ソス@ソスソスソスRソスソスソス|ソス[ソスlソスソスソスgソスソスナマソスEソスXソスzソスCソス[ソスソスソスフイソスxソスソスソスgソスノ対会ソスソスソスソスソスソスソスソスフでゑソスソスソス
|
ソスEC/C++
ソスEDelphi
ソスEVisual BasicソスソスソスSソスソス
ソス@(VB2-VB6ソスソス.NETソスソスソスp)
ソスEVisual Basic(VB2-VB6)
ソスEVisual Basic .NET
ソスEVisual C++
ソスEpapy's softwarelibrary
ソスソスソスソスソスフコソスソスソス|ソス[ソスlソスソスソスgソスソスpソスソスソスソスソスト新ソスソスソスノマソスEソスXソスzソスCソス[ソスソスソスノ対会ソスソスソスソスソスRソスソスソス|ソス[ソスlソスソスソスgソスソスソスうソスニゑソスソストゑソスフでゑソスソスソスソスCソスxソスソスソスgソスソスソスソスソスワゑソスソスEソスソスソスワゑソスソスソスB
publishedソスノプソスソスソスpソスeソスBソスソスヌ会ソスソスソスソス驍セソスソスソスナはゑソスソス゚なのでゑソスソス蛯、ソスソス?
type
TPaintBoxB = class(TPaintBox)
private
protected
public
constructor Create(aOwner: TComponent); override;
destructor Destroy; override;
published
ソス@ソス@//ソスヌ会ソス
property OnMouseWheel;
property OnMouseWheelDown;
property OnMouseWheelUp;
end;
ソスソスLソスナオソスuソスWソスFソスNソスgソスCソスソスソスXソスyソスNソス^ソスノはイソスxソスソスソスgソスヘ追会ソスソスソスソスソストゑソスナゑソスソスソスソスzソスCソス[ソスソスソスソスしてゑソスCソスxソスソスソスgソスソスソスNソスソスソスワゑソスソスソスB
ソスソスしソスソスソスソスソス閧「ソスソスソスワゑソスソスB
ソスソスソスフソソス[ソスXソスソスRソスソスソスpソスCソスソスソスソスソスソスソス
ソスuOnMouseWheelソスvソスヘ奇ソス{ソスNソスソスソスXソスノ托ソスソスンゑソスソスワゑソスソスソスソスソストゑソスソスソスソスGソスソスソス[ソスoソストまゑソスソスソスソスヌ?
ソスナ、ソスソス閧スソスソスソスフはゑソスソスソスソスソスソスソスソスソスソスニ?
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TPaintBoxB = class(TPaintBox)
private
protected
public
procedure WMMousewheel(var Msg: TMessage); message WM_MOUSEWHEEL;
published
//ソスヌ会ソス
end;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private ソス骭セ }
FPaintBox : TPaintBoxB;
public
{ Public ソス骭セ }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
FPaintBox := TPaintBoxB.Create(Self);
FPaintBox.Parent := Self;
FPaintBox.Align := alClient;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FPaintBox.Free;
end;
procedure TPaintBoxB.WMMousewheel(var Msg: TMessage);
begin
if (Msg.WParam > 0) then
begin
{ ソスzソスCソス[ソスソスソスソスソスソスノ難ソスソスソスソスソスソスソスソスソスソスフ擾ソスソスソス }
ShowMessage('ソスzソスCソス[ソスソスソスソスソスソスソスノ難ソスソスソスソスソス');
end
else
begin
{ ソスzソスCソス[ソスソスソスソスソスOソスノ難ソスソスソスソスソスソスソスソスソスソスフ擾ソスソスソス }
ShowMessage('ソスzソスCソス[ソスソスソスソスソスソスOソスノ難ソスソスソスソスソス');
end;
end;
takeソスソスソスソスAソス苣「ソスbソスノなゑソスワゑソスソスB
>OnMouseWheelソスvソスヘ奇ソス{ソスNソスソスソスXソスノ托ソスソスンゑソスソスワゑソスソスソスソスソストゑソスソスソスソスGソスソスソス[ソスoソストまゑソスソスソスソスヌ?
ソスソスソスソスソスソスナはコソスソスソスpソスCソスソスソスナゑソスソスワゑソスソスB
ソスソスソスネみに難ソスソスソスツ具ソスソスソスdel2010ソスソスWin7ソスソスナゑソスソスB
ソスソスソスソスソスソスdel7ソスナゑソスソスソスソスソスソスソスフでゑソスソスソスソスGソスソスソス[ソスヘでまゑソスソスソスナゑソスソスソスソスB
OnMouseWheelソスソスaintBox<-TGraphicControl<-TControl<-TComponentソスソスprotectedソスノ抵ソス`ソスソスソスソストまゑソスソスソスソスフでゑソスソスソスpublishedソスノゑソスソス驍セソスソスソスナは駄目なのでゑソスソス蛯、ソスソス?
ソスソス閧スソスソスソスRソスソスソス|ソス[ソスlソスソスソスgソスヘコソスソスソス|ソス[ソスlソスソスソスgソスソスナホソスCソス[ソスソスソスフ会ソス]ソスソスソスソスmソスソスソスト図ソス`ソスフ拡ソスソスAソスkソスソスソスソスsソスソスソスソスソスソスソスフでゑソスソスB
ソスQソスlソス¥ソス[ソスXソスソスソスソスソスソストみまゑソスソスソスソスソスソスAソスソスソス_ソスソスソスfソスBソスXソスvソスソスソスCソスフ搾ソスソスソスニなゑソスソストゑソスフゑソスソスAソスtソスHソス[ソスソスソスソスナ会ソス]ソスソスソスソスソストゑソスAソスEソスソスソスソスソスソスソスソスナは奇ソスソスmソスソスソストゑソスソスソスワゑソスソスソスB
(ソスfソスBソスXソスvソスソスソスCソスフ搾ソスソスソスナは托ソスソスvソスナゑソスソスB)
ソスソスソスmソスソスソスソスヘ囲はフソスHソス[ソスソスソスフサソスCソスYソスノなゑソスソストゑソスンゑソスソスソスソスナゑソスソスB
ソス竦ウソスソスソスソスノはどゑソスソスソスソスソスソス轤「ソスソスソスフでゑソスソス蛯、ソスソス?
ソスソスソスソスノゑソスソスヘ.
WM_MOUSEWHEELソスニゑソスソスCソス}ソスEソスXソスzソスCソス[ソスソスソスヨ係ソスフソスソスbソスZソス[ソスWソスヘ,ソス゚具ソスソスフ記ソスソス(ソスソスソスフ掲ソスソスソスツゑソスソスソスソスナなゑソス)
ソスソスソスいソスソスソス閧ェソスソスソスソス謔、ソスナゑソスソスD
ソスソスソスソスヘ,ソスソスソスフ環具ソスソスノゑソスソスソス謔、ソスナゑソスソスDソス}ソスEソスXソスYソスtソスフドソスソスソスCソスoソス[ソスフイソスソスソスXソスgソス[ソスソスソスフ有ソスソスソスニゑソスソスD
ソス}ソスEソスXソスzソスCソス[ソスソスソスヨ係ソスフ擾ソスソスソスソスヘ,ソスソスソスフ場合ソスCソスRソスソスソス|ソス[ソスlソスソスソスgソスソスソスソスナはなゑソスソスC
ソスAソスvソスソスソスPソス[ソスVソスソスソスソスソスソスソスナ擾ソスソスソスソスソスソスソス謔、ソスノゑソスソストゑソスソスワゑソスソスD
TApplicationソスソスOnMessageソスCソスxソスソスソスgソスnソスソスソスhソスソスソスソス成
ソスソスソスbソスZソス[ソスWソスソスナ搾ソスソスWソスlソスソス謫セソスソスソスCソスソスソスフ搾ソスソスWソスlソスノ会ソスソスソスソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソス
TApplicationソスヘ,Delphiソスフバソス[ソスWソスソスソスソスソスノゑソスソスソストは,ソスRソスソスソス|ソス[ソスlソスソスソスgソスソスソスソスソスソスワゑソスソスD
ソスuソスRソスソスソス|ソス[ソスlソスソスソスgソスソスナマソスEソスXソスzソスCソス[ソスソスソスフイソスxソスソスソスgソスノ」
ソスニゑソスソスソスソスソスソスニにはなゑソスワゑソスソスが,ソスレ的ソスフ難ソスソスがソスナゑソスソスネゑソスソスソスソスニには始ソスワゑソスワゑソスソスソスフで.
ソスヤ違えソスワゑソスソスソスソスD
TApplication ---> TApplicationEvents
ソスナゑソスソスD
>ソスQソスlソス¥ソス[ソスXソスソスソスソスソスソストみまゑソスソスソスソスソスソスAソスソスソス_ソスソスソスfソスBソスXソスvソスソスソスCソスフ搾ソスソスソスニなゑソスソストゑソスフゑソスソスAソスtソスHソス[ソスソスソスソスナ会ソス]ソスソスソスソスソストゑソスAソスEソスソスソスソスソスソスソスソスナは奇ソスソスmソスソスソストゑソスソスソスワゑソスソスソスB
MouseWheelソスソスソスbソスZソス[ソスWソスヘフソスHソス[ソスJソスXソスソスソスソスソスソスRソスソスソスgソスソスソス[ソスソスソスノ暦ソスソスソスフで、
Panelソスフ擾ソスソスPaintBoxソスソス謔ケソスソスソスRソスソスソス|ソスソスソスソスフゑソスソスソス閧ゥソスソスB
Mr.XRAYソスソスソスソスAソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
ソスソスソスソスナ終ソスIソスノはアソスvソスソスソスソスソスナ擾ソスソスソスソスソスソス驍オソスソスソスネゑソスソスソスソスネと思ソスソスソスワゑソスソスB
ソスソスソスソスソスソスListBoxソスヘスソスNソスソスソス[ソスソスソスzソスCソスソスソスフ会ソス]ソスノ対会ソスソスソスソストゑソス(ソスRソスソスソス|ソス[ソスlソスソスソスgソスソスソスソスナの奇ソスソスmソスナはなゑソスソスナゑソスソスソス)ソスフで、ソスソスソスフ包ソスソスソスソスソスレ植ソスソスソストコソスソスソス|ソス[ソスlソスソスソスgソスソスフみでの費ソスソスソスソスノ会ソスソスヌゑソスソスソスソス轤「ソスソスソスソスソスソスソスネ気ソスソスソスソスソスト鯉ソスソスン趣ソスソスsソスソスソスしソストゑソスナ抵ソスソスナゑソスソスB
ソスソスソスソスソスソスソス¥ソス[ソスXソス`ソスソスソストゑソスヌゑソスソスナホソスCソス[ソスソスソスフ擾ソスソスソスソスソスソストゑソスフゑソスソス`ソスソスソスvソスソスソスJソスソスソスvソスソスソスナめゑソスソスソスソスソスソスナゑソスソスソスソスB
..ソスニゑソスソスソスソス轤ウソスソスフ鯉ソスwソスEソスナゑソスソスソス
>MouseWheelソスソスソスbソスZソス[ソスWソスヘフソスHソス[ソスJソスXソスソスソスソスソスソスRソスソスソスgソスソスソス[ソスソスソスノ暦ソスソスソスフで、
ソスソスソスソスmソスソスソスノ暦ソスソストゑソスフでゑソスソスソスソスAソスソスソスmソスソスソスソスソス`ソスヘ囲の始ソス_ソスソスソスAソスNソスeソスBソスuソスtソスHソス[ソスソスソスフ搾ソスソスソスナなゑソスソスfソスBソスXソスvソスソスソスCソスフ搾ソスソスソスニなゑソスソストゑソスソスワゑソスソストて悩ソスソスナゑソスソスワゑソスソスB
ソスソスソスソスソスソスソスソス謦」ソスソスソストみゑソスソスソスソスニ思ソスソスソストまゑソスソスフで皆ソスソスソスソスフ意鯉ソスソスソスソスしソスソスソスソスソス閧「ソスvソスソスソスワゑソスソスB
ソス^ソスユ:ソスuソスソスソスそソスソス‾ソスJソスソスソス閧ェソス゚ゑソスソスソスソスソスAソスヒゑソスソスAソスソスソスソスソスソスソスソスソスソスソスv
ソスソスソスソスFソスuソスソスソスソスソスソスソスネ、ソスIソスソスソスフカソスソスソスナはゑソスソスヤん来週ソスソスソスソスソスソスcソスAソスソスソスフゑソスソスソスソスノ会ソスソスソスソスフ修ソスソスソスソスソストゑソスソスソスソスソスソスv
ソス^ソスユ:ソスuソスソスソスソスソスAソスソスソスソスソスソスソスソスソスソスが? ソスソスソスソスソスソスソス閧オソスソスソスソスソスマゑソスソスソスソスソスAソスニ者ゑソスソスソスノ暦ソスソスだ包ソスソスソスソスCソスCソスじゑソスネゑソスソスHソスv
ソスソスソスソスFソスuソスネゑソスソスノ托ソスソスvソスソスソスソスAソスCソスソスツゑソスソストゑソス驍ゥソスソスv
ソス^ソスユ:ソスuソスzソスソスソスgソスノ? ソスソスソスソスマゑソスSソスzソスソスソスネゑソスソスv
ソスTソスqソスFソスuソスソスソスソスノゑソスソスヘ〜ソスAソスソスソスソスH ソスソスソスソスソスnソスワゑソスフ?ソスv
ソスソスソスソスFソスuソスソスソスソス ソスソスソスEソスRソスAソスソスソスOソスヘ会ソスソスソスソスソス^ソスCソス‾ソスソスソスOソスソスソスソスソスネ、ソス}ソスRソスgソスニ一緒ソスノ会ソスソスナゑソスソスフハソスVソスSソスソスソスソスソスソスソスソストゑソスソスソスv
ソスTソスqソスFソスuソスソスソス`ソスH ソス}ソスTソスソスソスソスソスがハソスVソスSソスナ会ソスソスソスソスノ登ソスソスフ? ソスAソス^ソスVソスフ擾ソスノは暦ソスソスソスソストゑソスソスネゑソスソスナゑソスH^^;ソスv
ソスy ソスpソスlソスソスソスフ擾ソスソスPaintBoxソスソス謔ケソスソスTPaintPanelソスRソスソスソス| ソスz
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ThemeMgr;
type
TPaintPanel = class;
TPaintBox = class(ExtCtrls.TPaintBox)
private
FPaintPanel: TPaintPanel;
procedure WMLButtonDown(var Msg: TMessage); message WM_LBUTTONDOWN;
procedure WMMouseWheel(var Msg: TWMMouseWheel); message WM_MOUSEWHEEL;
end;
TPaintPanel = class(TPanel)
private
FPaintBox: TPaintBox;
FOnMouseWheel: TMouseWheelEvent;
procedure WMMouseWheel(var Msg: TWMMouseWheel); message WM_MOUSEWHEEL;
public
procedure SetParent(aParent: TWinControl); override;
published
property OnMouseWheel: TMouseWheelEvent read FOnMouseWheel write FOnMouseWheel;
end;
type
TForm1 = class(TForm)
Memo1: TMemo;
ThemeManager1: TThemeManager;
procedure FormCreate(Sender: TObject);
private
FSize: Integer;
PaintPanel1: TPaintPanel;
procedure PaintPanel1MouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TPaintPanel.SetParent(aParent: TWinControl);
begin
inherited;
if aParent = nil then exit;
// PaintPanelソスフ難ソスソスソスソスソスソスソスマゑソスソスソスPaintBoxソスソス成
FPaintBox := TPaintBox.Create(Self);
FPaintBox.FPaintPanel := Self;
FPaintBox.Parent := Self;
FPaintBox.Align := alClient;
//Self.ParentBackground := False; // D6ソスネ降ソスソスXPManソスソスgソスソスソス鼾ソスノ必ソスvソスH
end;
procedure TPaintBox.WMLButtonDown(var Msg: TMessage);
begin
inherited;
// PaintBoxソスソスナマソスEソスXソスフ搾ソスソス{ソス^ソスソスソスソスソスソスソスソスソスソスソスeソスソスPaintPanelソスソスFocusソスソスZソスbソスg
Parent.SetFocus;
end;
procedure TPaintBox.WMMouseWheel(var Msg: TWMMouseWheel);
var
p1, p2: TPoint;
Handled: Boolean;
begin
// ソス}ソスEソスXソスJソス[ソス¥ソスソスソスソスソスRソスソスソス|ソスソスノゑソスソス驍ゥソスH(ソスXソスNソスソスソス[ソスソスソスSソスフゑソスWheelEventソスソスNソスソスソスソスソス鼾ソスヘ費ソスソスソスsソスv)
P1 := ClientToScreen(Point(Left, Top));
P2 := ClientToScreen(Point(Left+Width, Top+Height));
if (Msg.XPos < P1.X)or(Msg.XPos > P2.X) then exit;
if (Msg.YPos < P1.Y)or(Msg.YPos > P2.Y) then exit;
// ソスJソス[ソス¥ソスソスソスソスソスRソスソスソス|ソスソスノゑソスソスソスソスソスFocusソスソスソスソスソスソスソスWheelソスCソスxソスソスソスgソスソスソスソスソスソスソスソスソスソス
Handled := False;
if Assigned(FPaintPanel.FOnMouseWheel) then begin
FPaintPanel.FOnMouseWheel(FPaintPanel, KeysToShiftState(Msg.Keys), Msg.WheelDelta, ScreenToClient(Point(Msg.XPos,MSG.YPos)), Handled);
exit;
end;
// Handledソスフ戻ゑソスlソスヘ厄ソスソスソス
// ソスKソスvソスネらこソスソスソスソスOnMouseWheelUPソスAOnMouseWheelDOWNソスCソスxソスソスソスgソス発撰ソスソスソスソスソスソスソス
end;
procedure TPaintPanel.WMMouseWheel(var Msg: TWMMouseWheel);
begin
// ソスeソスソスPanelソスノ暦ソスソスソスソスソスソスbソスZソス[ソスWソスソスqソスソスPaintBoxソスノ会ソスソスソスソスソス
// ソスソスソスフコソス[ソスhソスフ追会ソスソスナマソスEソスXソスJソス[ソス¥ソスソスソスソスソスXソスNソスソスソス[ソスソスソスソスフ会ソスソスソスソスノゑソスソスソスソストゑソスソスソスmソスナゑソスソスソス
FPaintBox.WMMouseWheel(Msg);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// FormソスソスソスPaintPanelソスRソスソスソス|ソス動的ソスソスソスソス
PaintPanel1 := TPaintPanel.Create(Self);
PaintPanel1.Parent := Self;
//PaintPanel1.Align := alClient;
PaintPanel1.Top := 50;
PaintPanel1.Left := 30;
PaintPanel1.Width := 400;
PaintPanel1.Height := 300;
PaintPanel1.Color := clYellow; // clWhite;
PaintPanel1.BevelInner := bvNone;
PaintPanel1.BevelOuter := bvNone;
PaintPanel1.OnMouseWheel := PaintPanel1MouseWheel;
FSize := 0;
end;
// ソスRソスソスソス|ソスソスOnMouseWheelソスCソスxソスソスソスgソスnソスソスソスhソスソス
procedure TForm1.PaintPanel1MouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
// ソス}ソスEソスXソスフ各ソスlソスソスMemoソスノ表ソスソス
Memo1.Lines.Add(Format('%dソスF%dソスF%.8X / %d',[MousePos.X, MousePos.Y, WheelDelta, Integer(ssShift in Shift)]));
// Wheelソスフ会ソス]ソスソスPaintBoxソスノ描ソスソスソスソスソスヤゑソスソスlソスpソス`ソスフサソスCソスYソスソスgソスソス^ソスkソスソスソスソスソスソスソスソス
with TPaintPanel(Sender) do begin
Canvas.Pen.Color := clRed xor Color;
Canvas.Pen.Mode := pmXOR;
Canvas.PolyLine([Point(0, 0), Point(0, FSize), Point(Fsize, FSize), Point(FSize, 0), Point(0, 0)]);
if (WheelDelta > 0) then begin // ソスzソスCソス[ソスソスソスソスソスソスノ難ソスソスソスソスソスソスソスソスソス
if FSize > 0 then dec(FSize);
end else begin // ソスzソスCソス[ソスソスソスソスソスOソスノ難ソスソスソスソスソスソスソスソスソス
inc(FSize);
end;
Canvas.PolyLine([Point(0, 0), Point(0, FSize), Point(Fsize, FSize), Point(FSize, 0), Point(0, 0)]);
end;
end;
ソスソスソスソスFソスuソスソスソスソスJソスソスソスソスAソスワゑソスソスソスソスソスナ雨ソスRソスソスヘゑソスソスネゑソスソスソスソスぅソスAソスソスH ソスiソスソスソスソスソスH ソスソスソスソスソスoソスソスソスソスソスソスソスフ趣ソスヘ」
ソスTソスqソスFソスuソスoソスCソスgソスソスフ撰ソスソスソスソスAソスcソスAソス^ソスVソスソスソスソスソスソスフ擾ソスノ登ソス轤ウソスソスト趣ソス`ソスさソス黷スソスソスソスソスソスソスソスソスAソスソスソスRソスナゑソスソスソスHソスv
ソスソスソスソスFソスuソスソスソスソスネゑソスネ、ソスソスナ、ソスソスソスソスソスソスソスソスソス[ソスHソスソスソスソスソスソスソスソスソスソスソスソストゑソス驍ゥソスソスcソスv
ソスTソスqソスFソスuソスzソスソスソスg^^ソスHソスv
ソスソスソスソスFソスuソスソスソス黷ェソスoソスCソスgソスソスフゑソスソスソス閧セソスソスソスv
ソスTソスqソスFソスuソスソスソス`ソスソスAソスソスソスソスcソスソスソスツゑソスソスソスソスネカソスソスソスWソスナ丸め搾ソスソスワれちソス痰、ソスだゑソスソスソス`ソスv
ソス^ソスユ:ソスuソスヒゑソスソスAソスソスソスソスソスソスソスソスソスソスソスAソスJソスRソスソスフ鯉ソスソスソスソスヘナソスソスソスソスソスソスソスソスソスフ?ソスv
ソスソスソスソスFソスuソスソスソスソスソスフスソスソスソス[ソスgソスフパソスlソスソスソスソスソスYソスソスソスト鯉ソスソスヤゑソスソスナゑソスソストゑソスソスだ、ソスソスソスフ前ソスフ具ソスソスソスソスフゑソスソスソスソスソスソスうソスv
ソス^ソスユ:ソスuソスソスソスフズソスソスソスソスソスソスソスソスソスフ? ソスソスソス痰 ソスソスソスソスソスソスvソスヒ? ソスソスlソスニゑソスPソスKソスソスソスネゑソスソスト良ゑソスソスソスソスソス^^ソスv
ソスTソスqソスFソスuソスソスソスソスソスフ擾ソスナマソスTソスソスソスソスソスが危うソスソスソスソスソスソスソスソスソスソスソスノなゑソスソスソスソスフゑソスAソスソスソスソスソスソスソスソスソストゑソスソスソスソスソスソスソスソスソスソスソスソス迥エソスモゑソスソストゑソスソスソスネゑソスソスニ…ソスv
ソス^ソスユ:ソスuソスソスソスソスネ奇ソスネゑソスソスRソスgソスソスソスH ソスソスソスEソスRソスAソスソスソス閧ェソスニゑソスソスAソスcソスAソス^ソスVソスソスソスソスソスソス齒奇ソスフズソスソスソス直ゑソスソストコソスソスソス|ソスソスフドソスRソスナゑソスWheelソスCソスxソスソスソスgソスフ奇ソスソスmソスソスソスoソスソスソスソス謔、ソスノなゑソスソスソスソスフゑソスv
ソスTソスqソスFソスuソスソスソスH ソスiソスソスソスフ話ソスHソスv
ソス^ソスユ:ソスuソスnソスソスソスRソスソスソスだゑソスソスソスソスソスAソスソスソスソスニ良ゑソスソスソスソスソスソスソスソス驍ゥソスソスソスソスソスネゑソスソスソスソスヌ、ソスAソス^ソスVソスヘゑソスソス黷ェソスソスソスソスtソスv
ソスTソスqソスFソスuソス}ソスRソスgソスAソスmソスソスソスLソス゚ゑソスソスAソスnソスソスソスRソスソスソスソスフ心ソスzソスヘゑソスソスネゑソスソスフ? ソスソスソスソス{ソスソスソス閧「ソスoソスソスソスソスソスソスソスソスソスCソスCソスじゑソスネゑソスソスHソスv
ソス^ソスユ:ソスuソスソスソスvソスAソスnソスソスソスRソスソスソスがドソスRソスノ具ソスソス驍ゥソスヘ包ソスソスソスソスソスソストゑソスフゑソスAソスナゑソスAソスソスソスツコソスbソス`ソスノ帰ソスソスフゑソスソスヘ…^^;ソスv
ソスYソスじソスソスネゑソスソスソスソスヌ、ソスソスソスソスネ奇ソスソスソスソスナどゑソスソスH
ソスワゑソスソスヘ、ソスRソスソスソス|ソス[ソスlソスソスソスgソスB
type
TpaintBoxB = class(TPaintBox)
private
{ Private ソス骭セ }
protected
{ Protected ソス骭セ }
public
{ Public ソス骭セ }
procedure MouseWheelHandler(var Message: TMessage); override;
published
{ Published ソス骭セ }
property OnMouseWheel;
property OnMouseWheelDown;
property OnMouseWheelUp;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TpaintBoxB]);
end;
{ TpaintBoxB }
procedure TpaintBoxB.MouseWheelHandler(var Message: TMessage);
var
ClientPos: TPoint;
begin
with TCMMouseWheel(Message) do
begin
ClientPos := ScreenToClient(SmallPointToPoint(Pos));
if (0 <= ClientPos.X) and (ClientPos.X <= Self.Width ) and
(0 <= ClientPos.Y) and (ClientPos.Y <= Self.Height) then
begin
Result := 0;
if DoMouseWheel(ShiftState, WheelDelta, SmallPointToPoint(Pos)) then
Message.Result := 1
else if Assigned(Parent) then
with TMessage(Message) do
Result := Parent.Perform(CM_MOUSEWHEEL, WParam, LParam);
end;
end;
end;
end.
ソス{ソスソスソスヘコソスソスソス|ソス[ソスlソスソスソスgソスソスソスソスソスナ済まゑソスソスソスソスソスソスソスソスソスソスソスソスソス
ソスソスソスbソスZソス[ソスWソスソスソスソスソスナゑソスソスネゑソスソスHソスソスソスソスAソスソスソスソスネ奇ソスソスソスソスナ会ソスハゑソスソスソスB
type
TForm1 = class(TForm)
paintBoxB1: TpaintBoxB;
private
{ Private ソス骭セ }
public
{ Public ソス骭セ }
procedure MouseWheelHandler(var Message: TMessage); override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MouseWheelHandler(var Message: TMessage);
begin
paintBoxB1.MouseWheelHandler(Message);
inherited;
end;
ソスソスソスソスTpaintBoxBソスフソスソスbソスZソス[ソスWソスソスけゑソスハ置ソスソスソスソスソスソストゑソスソスソスB
ソスソスソスソスソスソスソスソスソス逡ェソスソスソス驍ゥソスソスソスソスソスネゑソスソスソスソスヌ、ソスソスソスソスソスソスソストゑソスTpaintBoxB
ソスRソスソスソス|ソス[ソスlソスソスソスgソスソスソスソスソスナ会ソスソスソスナゑソスソス驍ゥソスソスソスソスソスソスソスソスH
ソスYソスソスソストゑソスHソスcソスソスソスソスソスソスソスソス ソスソスソスソス@ソスソスソスソスソスソスソスソス@ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
ソスYソスソスソストゑソスHソスcソスソスソスソスソスソスソスソス ソスソスソスソスソス
ソスy ソスpソスlソスソスソスフ擾ソスソスPaintBoxソスソス謔ケソスソスTPaintPanelソスRソスソスソス| ソスz
ソスナなゑソスニゑソスソスネりそソスソスソスナゑソスソスB
ソスソスソスソスソスフ疑ソスソスupublishedソスノプソスソスソスpソスeソスBソスソスヌ会ソスソスソスソス驍セソスソスソスナはゑソスソス゚なのでゑソスソス蛯、ソスソス?ソスvソスヘ残ソスソスソスソスソスワまでゑソスソスAソスミとまゑソスソスRソスソスソス|ソスソスソスソスソスナゑソスソスソスソスソスソスナゑソスソスB
ソスネので、ソスソスソスソスニ致ソスソスソスワゑソスソスB
ソスソスソスソスソスソスソスソスネゑソスソスニゑソスソスヘみなゑソスソスソスソスしソスソスソスソスソス閧「ソスソスソスワゑソスソスB