怎么在屏幕上直接画线、画矩形线、画圆线? ( 积分: 100 )

  • 主题发起人 主题发起人 bbscom
  • 开始时间 开始时间
B

bbscom

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么在屏幕上直接画线、画矩形线、画圆线?
注:是直接在屏幕上画,不受任何软件及窗体限制。
分不够再加!!!谢谢你的支持。
 
下面画一线,有了TCanvas,画什么都行了
procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Cvs: TCanvas;
begin
Cvs := TCanvas.Create;
try
DC := GetDC(0);
try
Cvs.Handle := DC;
Cvs.MoveTo(0, 0);
Cvs.LineTo(100, 100);
finally
ReleaseDC(0, DC);
end;
finally
Cvs.Free;
end;
end;
 
ANiDelphi,你好!根据你用固定的X,Y是可以了。
在屏幕上画线,怎么知道鼠标按下左键。也就是说要知道鼠标的X,Y值才能画呀。
 
看来只能用鼠标钩子了
---------------------------------------------------------------------------------------http://www.waibaoinfo.com 外包信息网 - 专业的外包项目发布和承接平台
 
为什么要在屏幕上画呢,有什么用呢,其它窗口刷新的话就没了
 
你好!
请问在DELPHI程序里怎么激活热键Ctrl+Shift+Alt+Z
注册的热键是:RegisterHotKey(handle,Scr,MOD_ALT+MOD_SHIFT+MOD_CONTROL,90);
我用Keybd_Event、PostMessage都没有现实。
如果你能解决同样给分或另外放分也行。
 
呵呵,一个问题没解决又来一个了。

直接发送消息
SendMessage(Handle, WM_HOTKEY, Scr, MakeLParam(MOD_CONTROL or MOD_ALT or MOD_SHIFT, 90));

或者
var
Msg: TMessage;
begin
with Msg do
begin
Msg := WM_HOTKEY;
WParam := Scr;
LParamLo := MOD_CONTROL or MOD_ALT or MOD_SHIFT;
LParamHi := 90;
SendMessage(Handle, Msg, wParam, lParam);
end;
end;
 
ANiDelphi,你好!非常感谢你。
你的答案是正确的当然就全给你了。
欢迎我们以后多合作谢谢!!!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部