我,拿出200分征求答案(200分)

  • 主题发起人 主题发起人 cgh0717
  • 开始时间 开始时间
C

cgh0717

Unregistered / Unconfirmed
GUEST, unregistred user!
各路高手,小生近日遇上难题,实在感觉无力解决,特拿出200分征求答案。

本人想写一个程序,是桌面锁,就是用自己的程序界面替代Windows的桌面,
可是有个问题无法解决,就是:当激活我的界面时,我的程序总是会掩盖其它
程序窗体,小生也想了想,可是windows的桌面就不会有掩盖其它程序窗口了;-< ,
也就是说:windows桌面总是被我们的程序踩在脚下(哈哈!!)
2  
  请问:我的界面如何才能达到windows桌面的效果?
 
unit Unit1;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
private
public
procedure SetPos(var msg: TWMWINDOWPOSCHANGED); message WM_WindowPosChanging;
end;

var Form1: TForm1;

implementation
{$R *.DFM}
procedure TForm1.SetPos(var msg: TWMWINDOWPOSCHANGED);
begin
msg.WindowPos.hwndInsertAfter:=1;
end;
end.
 
要做成透明才行的
 
这样就透明了:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure WMEraseBKGND(var Message:TMessage); message WM_ERASEBKGND;

end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMEraseBKGND(var Message:TMessage)
begin
Message.Result := 0;
end;
end.
 
多人接受答案了。
 

Similar threads

回复
0
查看
816
不得闲
D
回复
0
查看
878
DelphiTeacher的专栏
D
D
回复
0
查看
846
DelphiTeacher的专栏
D
D
回复
0
查看
943
DelphiTeacher的专栏
D
后退
顶部