delphi Èý·½¿Ø¼þ
VCLÖеÄShapeÊǸöºÜ²»´íµÄ¿Ø¼þ£¬¿ÉÒÔÑ¡Ôñ¼¸ÖÖͼÐΣ¬ÒÔÂú×ãÎÒÃǵÄÐèÇ󣬵«ÓÐʱºò¾ÍÊǾõµÃËüµÄ¿ÉѡͼÐÎÉÙÁËÒ»µã£¬±ÈÈçÎÒÃÇÏëÒªÒ»¸öÈý½ÇÐΣ¬ËüȴûÓС£ÓÚÊǾÍÏëµ½À´À©Õ¹Ò»ÏÂÕâ¸ö¿Ø¼þ£¬ÃûΪShapeEx¡£ÆäʵÀ©Õ¹µÄ¹¦Äܲ»¶à£¬Ö»ÊÇÔö¼ÓÁËһЩͼÐΡ£¶øÀàÒ²²¢²»ÊǼ̳Ð×ÔTShape£¬¶øÊǼ̳Ð×ÔTGraphicControl£¬ÕâÑù¿ÉÒÔÈÃÎÒÃdz¹µ×¿´¿´Í¼ÐοؼþµÄ×ö·¨¡£TshapeÒ²ÊǼ̳Ð×ÔTGraphicControl¡£¶øÎÒÃǵÄÀ©Õ¹¿Ø¼þ¹¦ÄÜÊÇ»ùÓÚShapeµÄÀ©Õ¹£¬ËùÒÔµ±È»ÀïÃæµÄ´úÂ뼸ºõȡ֮TShape£¬Ö»ÊǼÓÁËһЩÀ©Õ¹Í¼ÐεĴúÂ룬µ«ÓÖÓÐʲô¹ØÏµÄØ£¬VCLÔ´ÂëÊÇ×îºÃµÄѧϰ×ÊÔ´£¬ÎÒÃǺβ»È¡Ö®ÓÃÖ®¡£
ºÜ¶à¶«Î÷ÎÒÃÇÒѾÔÚÉÏÃæËµ¹ýÁË£¬ÕâÀï²»¶à˵ÁË£¬ÎÒÒªÖ±ÈëͼÐοؼþµÄÖØµã¡£Í¼Ðοؼþ²»ÊÇ·â×°WindowsµÄ¿Ø¼þ£¬¶øÊÇDelphi×Ô¼º»³öÀ´µÄ£¬ÄÇôËü¿Ï¶¨ÓÐÒ»¸ö»¿Ø¼þµÄº¯Êý¡£Õâ¸öº¯Êý¾ÍÊÇ:
Paint;
¿´Ò»ÏÂVCLÔ´Â룬¿ÉÒÔÖªµÀËü¶¨ÒåÔÚTGraphicControl¡£ÖУº
procedure Paint; virtual;
ÕâÊÇÒ»¸öÐ麯Êý£¬ÄÇôËüµÄʵÏÖÊÇÔõôÑùµÄÄØ£¬µã»÷¿´ËüµÄʵÏÖÈçÏ£º
procedure TGraphicControl.Paint;
begin
end;
ÀïÃæÊ²Ã´ÂëҲûÓУ¬Õâ¸öºÜÈÝÒ×Àí½â£¬ÒòΪËü²»¿ÉÄÜÖªµÀËûµÄ×ÓÀàµÄͼÐÎÊÇʲôÑù×ӵġ£ËùÒÔÉèΪÐ麯Êý£¬ÓÉËüµÄ×ÓÀàÀ´¸²¸ÇËü¡£
ÄÇôÊÇ˵÷ÓÃÁËÕâ¸öº¯ÊýÀ´ÒýÆð»¿Ø¼þÄØ¡£WindowsÓÐÒ»¸öWM_PAINT;ÏûÏ¢£¬µ±Ò»ÇÐÒýÆðÖØ»µÄÌõ¼þ·¢Éú£¬Ôò»á·¢ËÍÕâÌõÏûÏ¢£¬ÔÙ¿´¿´TGraphicControl£¬¹ûÈ»ÓнػñÕâ¸öÏûÏ¢£º
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
ÔÚ´¦Àíº¯ÊýÀïÃæ£¬µ÷ÓÃÁËPaint·½·¨£¬´Ó¶øÊµÏÖÁ˻ͼÐοؼþ¿ÉÄÜ£º
procedure TGraphicControl.WMPaint(var Message: TWMPaint);
begin
if Message.DC <> 0 then
begin
Canvas.Lock;
try
Canvas.Handle := Message.DC;
try
Paint; //µ÷ÓÃÁËÕâ¸öº¯ÊýÀ´»Í¼Ðοؼþ
finally
Canvas.Handle := 0;
end;
finally
Canvas.Unlock;
end;
end;
end;
¶øËüµÄ×ÓÀา¸ÇÁËPaintº¯Êý£¬ËùÒÔÏûÏ¢´¦Àíº¯Êýµ÷ÓõÄʵ¼ÊÉÏÊÇij¸ö×ÓÀàµÄPaint·½·¨£
Ïà¹ØÎĵµ£º
Delphi±àдϵͳ·þÎñ¶þ£ºÏµÍ³·þÎñºÍ×ÀÃæ³ÌÐòµÄÇø±ð ÊÕ²Ø
Windows 2000/XP/2003µÈÖ§³ÖÒ»ÖÖ½Ð×ö“ϵͳ·þÎñ³ÌÐò”µÄ½ø³Ì£¬ÏµÍ³·þÎñºÍ×ÀÃæ³ÌÐòµÄÇø±ðÊÇ£º
ϵͳ·þÎñ²»Óõǽϵͳ¼´¿ÉÔËÐУ»
ϵͳ·þÎñÊÇÔËÐÐÔÚSystem Idle Process/System/smss/winlogon/servicesÏµģ¬¶ø×ÀÃæ³ÌÐòÊÇÔËÐÐÔÚExplorerϵģ»
......
Delphi ÖÐWebBrowser¿Ø¼þÏê½âʵÀý ת
2008-05-07 12:07
ºÜ¾Ã¶¼Ã»ÓÐÔ´´ÁË£¬Ç°¼¸Ìì°ïÅóÓÑ×öÁ˸öÍøÖ··¢²¼³ÌÐò£¬Ö÷ÒªÓ¦Óõ½ÁËWebBrowser¿Ø¼þ¡£
½ñÌìÖ÷Òª¸ø´ó¼ÒÑÝʾһϹý³Ì£¬Èôó¼ÒѧϰһÏÂDelphi¹¤¾ß¡£
WebBrowser¹¦ÄÜ£º
1¡£×Ô¶¯¼ÓÔØÍøÒ³
2¡£È¥³ýWebBrowser¹ö¶¯Ìõ
3¡£WebB ......
procedure Delay(msecs:integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(msecs);
while (msecs > 0) and (MsgWaitForMultipleObjects(1, Event, False, msecs, QS_ALLINPUT) <&g ......
×î½üÒ»Õó×Ó£¬×ÜÊDZ»Ò»¸öĪÃûÆäÃîµÄbugÀ§ÈÅ¡£×Ô¼ºÐ´µÄocx£¨.net2005£©ÔÚdelphi7Öе÷Óã¬Ã÷Ã÷ûÓÐÊÍ·ÅÖ÷¶¯ÊͷŹýÄڴ棬ȴ±»Á¬ÐøÊÍ·ÅÁËÁ½´Î¡£½á¹û£¬³ÌÐòÍ˳öʱ¾ÍdownµôÁË¡£µ±È»£¬ÕâÊÇÔÚdebugģʽϲŻá³öÏÖ£¬µ«ÊÇexeÅܵÄʱºò»áĪÃûÆæÃîµÄdownµô£¬¶øÇÒ³ö´íÍùÍùÖ¸Ïòocx£¬ÎÒÏëÒ»¶¨ºÍocxµÄµ÷ÓÃÓйء£
ÉÏÍøÕÒÁËpurify£¬boundscheck ......