想在桌面上写字,但是如何消除字后面的白色板块呢?(100分)

W

wrl_001

Unregistered / Unconfirmed
GUEST, unregistred user!
语句如下:
var
dc:Tcanvas;
begin

dc:=TCanvas.create;
dc.handle:=getdc(0);
dc.textout('wrl_001');
end;

这样子在字的后面会有一块白色的板块,如何消除呢?或者用其他的方法实现也可以/
 
先用fillrect填充背景色
 
用DrawText
 
var
dc:Tcanvas;
begin

dc:=TCanvas.create;
dc.handle:=getdc(0);
dc.Brush.Style :=bsClear;
dc.textout(10,10,'wrl_001');
end;
 
int SetBkMode(

HDC hdc, // handle of device context
int iBkMode // flag specifying background mode
);


 
同意楼上!
 你只要
 dc.brush.style:=bsCLear;
加入就OK!
 
加问一下如何执行“显示桌面”这个命令呢?
 
通过程序最小化你所有的进程,就可以了
 
有什么现成的命令吗?
 
to 3cs:

我想最小化系统中全部的程序啊?可以给个例子吗?
 
var
dc:Tcanvas;
begin

dc:=TCanvas.create;
dc.handle:=getdc(0);
dc.Brush.Style :=bsClear;
dc.textout(10,10,'wrl_001');
end;
 
给系统发送个 win+M 命令就和显示桌面一样了
 
那在keydown事件的key 中什么表示win键啊?
这段代码为什么只能最小化一些窗口呢?
var
h:Hwnd;
begin

h:=Handle;
while h>0 then

begin

if IsWindowsVisible(h) then

begin

Postmessage(h,WM_SYSCOMMAND,SC_MINIMIZE,0);
h:=GetNextWindow(h,GW_HWNDNEXT);
end;

END;
end;
 
多人接受答案了。
 
顶部