¡¡¡¡Ò»¡¢×é¼þµÄ¼òÒª²ã´Î½á¹¹
¡¡¡¡Ò»°ãÇé¿öÏ£¬VCLµÄ×é¼þ¿ÉÒÔ´ÓTcomponentΪ¿ªÊ¼¡£Æä×îÃ÷ÏÔµÄÌØÕ÷¾ÍÊÇËüµÄÊôÐÔ¿ÉÒÔÔÚÉè¼ÆÊ±Í¨¹ý¶ÔÏó²ì¿´Æ÷À´²Ù×Ý£¬ÁíÍ⣬Ëû»¹ÄÜÓµÓÐÆäËû×é¼þ¡£
¡¡¡¡´ÓTcomponentÏ£¬·Ö³ö·Ç¿ÉÊÓ×é¼þºÍ¿ÉÊÓ×é¼þ¡£
¡¡¡¡·Ç¿ÉÊÓ×é¼þÈçTOPenDialog,TTimer,TTableµÈ£¬ÕâЩ×é¼þÒòΪ¼Ì³Ð×ÔTomponent£¬ËùÒÔÒ²¾Í¼Ì³ÐÁËÔÚÉè¼ÆÊ±¿ÉÒÔ±»²Ù×ݵÄÌØÐÔ¡£
¡¡¡¡¿ÉÊÓ»¯×é¼þʼ×ÔTControl,ÊÇËüÒýÈëÁË¿ÉÊÓ»¯ÊôÐԺͷ½·¨£¬Ê¹¼Ì³Ð×ÔËüµÄÀà¶¼ÓÐÁËÕâЩ¿ÉÊÓ»¯ÌØÐÔ¡£
¡¡¡¡TControlÓÖ·Ö³öÁ½Àà×é¼þÀàÐÍ£º´ÓTWinControl£¨´°¿Ú¿Ø¼þ£©×ÔϵĿؼþ£¬ºÍ´ÓTGraphicControl£¨Í¼Ðοؼþ£©×ÔϵĿؼþ¡£¼Ì³Ð×ÔTWinControlµÄ¿Ø¼þ½«Windows¿Ø¼þ½øÐзâ×°£¬ËùÒÔÓµÓÐwindows¿Ø¼þµÄºÜ¶àÌØÐÔ£¬±ÈÈç¿ÉÒԵõ½½¹µã£¬ÓÐΨһµÄ¾ä±ú£¬Óû§¿ÉÒÔͨ¹ý·¢ËÍÏûÏ¢ÓëÕâЩ¿Ø¼þ½øÐн»»¥µÈ¡£¶ø¼Ì³Ð×ÔTGraphicControlµÄ¿Ø¼þ£¬Ò²ÊǿɼûµÄ£¬µ«Ã»Óоä±ú£¬¿ÉÒÔ³ÆÖ®ÎªÍ¼Ðοؼþ£¬±ÈÈçTLabel,TBevel,¶¼ÊÇDelphi»³öÀ´µÄ£¬²¢²»Õ¼ÓÃϵͳ×ÊÔ´¡£
¡¡¡¡¶þ¡¢ÊôÐÔ
¡¡¡¡ÏÈ¿´Ò»¸ö¼òµ¥µÄÊôÐÔ¶¨Ò壺
TsomeObj=class
Private
FCount:integer;
Protected
Procedure SetCount(value:Integer);
published
Property count:integer read FCount write SetCount default 0;//ÊôÐÔ¶¨Òå
End;
¡¡¡¡¸ÃÊôÐÔ´Ó˽ÓгÉÔ±FCount¶Á³öÖµ£¬¶ø¿¿SetCount·½·¨ÉèÖÃÖµµ½Ë½ÓгÉÔ±FCount¡£
¡¡¡¡ÊôÐÔµÄÓÅÊÆÔÚÓÚ¿ÉÒÔºÜÖ±¹Û½øÐжÁд£¬¶øÓÖ²»Í¬ÓÚ˽ÓгÉÔ±¡£ÒòΪÊôÐÔ¿ÉÒÔͨ¹ýд·ÃÎÊ·½·¨À´±£»¤Ë½ÓгÉÔ±£º
Procedure TsomeBoj.SetCount(value:Integer);
Begin
If FCount<>value then
FCount:=value;
End;
¡¡¡¡ÆäÖÐÊôÐÔ¶¨ÒåÖеÄDefault¡¡0²¢²»ÊÇĬÈÏÖµ£¨¼´¶ÔÏó²ì¿´Æ÷ÏÔʾµÄÖµ£©£¬Ä¬ÈÏÖµÒªÔÚ×é¼þÀàµÄ¹¹Ô캯ÊýÖÐÉ趨¡£¶øDefaultÓÐÕâÑùµÄ×÷Ó㬾ö¶¨DFMÎļþÖÐÊÇ·ñÒª±£´æ¸ÃÊôÐÔµÄÖµ£¬±ÈÈçÉÏÃæÎªDefault 0,¼´µ±¸ÃÊôÐÔֵΪ0ʱ£¬Ôò¸ÃÊôÐÔ²»»á±»±£´æµ½DFMÖУ¬Èç¹û¸ÃÊôÐÔÖµ²»Îª0£¬Ôò¸ÃÊôÐԻᱻ±£´æµ½DFMÖС£ÁíÍâÊôÐÔ¶¨Ò廹ÓÐÒ»¸ö¹Ø¼ü×ÖΪ
¡¡¡¡NoDefault£¬ÉèÖÃÁËÕâ¸ö¹Ø¼ü×Ö£¬±ÈÈç
Property count:integer read FCount write SetCount NoDefault;¡¡¡¡
¡¡¡¡ÔòÎÞÂÛËüµÄÖµÊÇʲô£¬¶¼»á±»Ð´µ½DFMÎļþÖС£
¡¡¡¡ÊôÐÔ¿ÉÒÔÓÐÈçϼ¸ÖÖÀàÐÍ£¬ÏÂÃæÖ»¸ø³ö¼òµ¥½éÉÜ£¬¶øÕâЩÀàÐ͵ÄÊôÐÔ£¬»áÔÚ×é¼þÖÆ×÷ʱÏêϸµÄÔËÓãº
¡¡¡¡¼òµ¥ÀàÐÍÊôÐÔ£ºÈçÉÏÃæ¶¨ÒåµÄ£¬¼ÓÒ»¸öÀý×Ó
Property text:string read Ftext write SetText;
¡¡¡¡Ã¶¾ÙÀàÐÍÊôÐÔ£º
TEnumtype=(Enum1,Enum2,Enum3);
FEnumtype:TEnumtype;
Property Enumtype:TEnumtype read FEnumtype write FEnumtype;
¡¡¡¡ÔÚ¶ÔÏó²ì¿´Æ÷Öп´À´¾ÍÊÇÏÂÀÁпòÑ¡ÔñÖµ¡£
¡¡¡¡¼¯ºÏÀàÐÍÊôÐÔ£º
Tset=(set1,set2,set3);
Tsets=set of Tset;
Fsets:Tsets;
Property sets:Tsets read Fsets write Fsets;
¡¡¡¡ÔÚ¶ÔÏó²ì¿´Æ÷Öп´À´£¬¾ÍÊÇÁгö¼¸¸öÑ¡Ïî·Ö±ðÉèÖÃÕæ¼Ù¡£±ÈÈçTFormµÄBorderIconsÊôÐÔ¼´ÊÇ¡£
¡¡¡¡¶ÔÏóÀàÐÍÊôÐÔ£ºÒ»¸öÊôÐÔÊÇÒ»¸ö¶ÔÏ󣬶øÕâ¸ö¶ÔÏó±ØÐëÅÉÉú×ÔTpersistent»òÕßËû֮ϵÄÀà,²ÅÄÜÔÚ¶ÔÏó²ì¿´Æ÷ÖпÉÒÔÕ¹¿ªËü£¬²¢ÉèÖÃËüÀïÃæµÄÊôÐÔ¡£
¡¡¡¡Êý×éÀàÐÍÊôÐÔ£ºÊý×éÊôÐÔÈç¹ûÒªÔÚ¶ÔÏó²ì¿´Æ÷Öп´¼û£¬ÐèÒªÓÐ×Ô¼ºµÄÊôÐÔ±à¼Æ÷£¨Èç¹û²»ÏëÔÚ¶ÔÏó²ì¿´Æ÷¿´µ±È»¾Í²»ÓÃÀ²£©£¬ÊDZȽϸ߼¶µÄ×é¼þ£¬ÔÚºóÀ´µÄ×é¼þÖÆ×÷ÔÙÀ´½éÉÜ£¬»á¸üÖ±¹ÛһЩ¡£ÕâÀïÖ»¸ø³öËüµÄ¶¨ÒåÐÎʽ£º
property Selected[Index: Integer]: Boolean read GetSelected write SetSelected;
¡¡¡¡Èý¡¢Ê¼þ
¡¡¡¡Ê¼þÆäʵÊÇÒ»ÖÖÌØÊâµÄÊôÐÔ£¬ËûÊÇÖ¸ÕëÀàÐÍ£¬Ö¸ÏòÒ»¸öʼþ·½·¨ÀàÐÍ¡£µ±ÓÐÌØ¶¨µÄʼþ·¢Éúʱ£¬Ëü¾Í»á¹ØÁªµ½Ò»¶ÎÖ´ÐдúÂë¡£
¡¡¡¡ÏÂÃæÒÔÒ»¸öÀý×ÓÀ´½²½âʼþÊÇÔõô·¢ÉúµÄ¡£
¡¡¡¡ÎÒÃÇÏȶ¨ÒåÒ»¸öÊó±êµãÏÂʼþµÄÊó±êʼþÀàÐÍ£¬ËüÆäʵ¾ÍÊÇ·½·¨Ö¸Õ룺
type TMouseEvent = procedure (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object;
¡¡¡¡ÓÖ¶¨ÒåÒ»¸ö˽ÓгÉÔ±£ºÊó±êʼþÀàÐ͵쬼´Ò»¸ö·½·¨Ö¸ÕëÀàÐÍ
FonMouseDown:TMouseEvent
¡¡¡¡×îºó¶¨ÒåÒ»¸öÊôÐÔ£ºÀàҪͨ¹ýÕâ¸öÊôÐÔ½«ÍⲿµÄʼþ´¦Àíº¯ÊýºÍFonMouseDown¹ØÁªÔÚÒ»Æð£º
onMouseDown:TMouseEvent read FonMouseDown write FonMouseDown;
¡¡¡¡µ±ÓÐÊó±ê×ó¼üµã»÷µÄ£¬ÏµÍ³»áÏò´°¿Ú»á·¢ËÍWM_LBUTTONDOWN;ÏûÏ¢
¡¡¡¡Delphi¿ÉÒԽػñÕâ¸öÏûÏ¢£¬Èç϶¨ÒåÏûÏ¢º¯Êý£º
procedure WMLButtonDown(var Message: TWMLButtonDown);
message WM_LBUTTONDOWN;
¡¡¡¡ÔÚÕâ¸öÏûÏ¢´¦Àíº¯ÊýÖе÷DOMouseDown,DoMouseDownÓÖµ÷ ÓÃÁËMouseDown
¡¡¡¡ÔÚÕâ¸öº¯ÊýÀïÃæ²Åµ½ÁË×îÖØÒªµÄ²¿·Ö
¡¡¡¡¸Ãº¯ÊýÊÇÕâÑùµÄ£º
procedure TControl.MouseDown(Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
if Assigned(FOnMouseDown) then FOnMouseDown(Self, Button, Shift, X, Y);
end;
¡¡¡¡¶øÎÒÃÇÏÈÀ´¿´¿´Óû§ÍⲿÊÇÔõô²Ù×÷µÄ£¬
¡¡¡¡Ëû×Ô¼º¶¨ÒåÒ»¸öSomeobjMouseDown; ÊÇÒ»¸öʼþ´¦Àíº¯Êý£¬±ØÐëºÍTMouseEventµÄÐÎʽһÑù£º
Procedure SomeobjMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
¡¡¡¡È»ºóËûÕâÑù¸³Öµ£º
someobj.onMouseDown:=SomeobjMouseDown;
¡¡¡¡µ±¸³ÖµÒÔºó£¬ÀàÄÚ²¿ÆäʵÊÇͨ¹ýonMouseDownÊôÐÔ£¬½«SomeobjMouseDown;ÓëFonMouseDwon¹ØÁªÔÚÒ»Æð£¬Ò²¾ÍÊÇ˵£¬MouseDown·½·¨Öе÷ÓÃÁËFOnMouseDown(Self, Button, Shift, X, Y);Æäʵ¾ÍµÈÓÚµ÷ÓÃÁËProcedure SomeobjMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!




