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±à³Ì-×Ô¶¯µÇ¼²Ù×÷
2009Äê08ÔÂ18ÈÕ ÐÇÆÚ¶þ 00:39
ÀûÓÃDelphiµÄOlevariantÀàÐÍ
--------------------------------------------------------------------------------
µ¥¸öframesµÄÊäÈë
var
o : Olevariant;
begin
o := WebBrowser.OleObject.document.all.item('LoginUserID',0); &nbs ......
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 ......
delphiÖеÄDLLÖеÄÉùÃ÷ÔÂëÈçÏ£º
ÕâÀïÉùÃ÷ÁËÊä³öÐÔ²ÎÊý·Ö±ðΪÊý×ÖÓë×Ö·ûÀàÐÍ
library dll1;
uses
SysUtils,
Classes;
{$R *.res}
Function mymax(x, y: Integer; out jj: Integer; out abc: PChar): Integer; stdcall;
begin
jj := x * y;
abc := PChar(StrPas(abc) + 'ÕâÊÇ´«³öµÄ' ......
WinExecÖ÷ÒªÔËÐÐEXEÎļþ¡£È磺
WinExec("Notepad.exe Readme.txt", SW_SHOW);
ShellExecute²»½ö¿ÉÒÔÔËÐÐEXEÎļþ£¬Ò²¿ÉÒÔÔËÐÐÒѾ¹ØÁªµÄÎļþ¡£
Ê×ÏȱØÐëÒýÓÃshellapi.pasµ¥Ôª£ºuses ShellAPI;
1.±ê×¼Ó÷¨
¡¡¡¡ ShellExecuteº¯ÊýÔÐͼ°²ÎÊýº¬ÒåÈçÏ£º
function ShellExecute(hWnd: HWND; Operati ......