怎样模拟“注销”?(10分)

  • 主题发起人 主题发起人 apple058
  • 开始时间 开始时间
A

apple058

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:
; ; 请问我怎样模拟点击Windows中“注销”时的状态效果。

; ; 也就是说,做一个对话框,让程序只能响应框内的东东,
; ; 外面的东东呈现“注销”是的那种灰色效果,并且无法点击!

; ; 谢谢谢谢
 
怎么没有一个人回答我?是不是嫌弃分数太少?[:(]
 
我在前面的贴子看到过,又忘了。
 
maming :找到后给我一份,谢谢!!!
 
你可以在点击注销后,对主form先Hide,后Show,在主Form的Show事件中编写代码不就可以了~!
 
狮子王:你好! 这样不行呀,我是说要用Delphi编个窗体,只要打开它,就有“注销”
; ; ; ;这种效果,就像有的 网吧管理系统 一样
 
Try !

var bBmp:array[0..15] of integer;
begin
bBmp[0]:=$55;
bBmp[2]:=$aA;
bBmp[4]:=$55;
bBmp[6]:=$aA;
bBmp[8]:=$55;
bBmp[10]:=$aA;
bBmp[12]:=$55;
bBmp[14]:=$aA;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a:HBitmap;
pattern:hgdiobj;
oldh:THandle;
v:hdc;
begin
a:=createbitmap(8,8,1,1,@bmp);
pattern:=createpatternbrush(a);
v:=getdc(0);
oldh:=selectobject(v,pattern);
bitblt(v,0,0,800,600,v,0,0,mergecopy);
selectobject(v,oldh);
releasedc(0,v);
deleteobject(a);
deleteobject(pattern);
end;
 
哦,那我不是很清楚了!
sorry!
 
YB_unique 你好:a:=createbitmap(8,8,1,1,@bmp);好像通不过!
 
不好意思!漏了一个B。
a:=createbitmap(8,8,1,1,@bBmp);

上面那段代码可以实现你要的视觉效果!
 
YB_unique :你好:好像还是通不过,你有QQ吗? 我的是 4878370 能通过qq 聊吗?
 
试试改进版!

procedure TForm1.Button1Click(Sender: TObject);
const
bBmp: array [0..15] of Byte = (
$55, 0, $AA, 0, $55, 0, $AA, 0, $55, 0, $AA, 0, $55, 0, $AA, 0);
var
Bitmap: HBITMAP;
Pattern: HBRUSH;
DCScreen: HDC;
OldPattern: HGDIOBJ;
begin
Bitmap := CreateBitmap(8, 8, 1, 1, @bBMP);
Pattern := CreatePatternBrush(Bitmap);
DCScreen := GetDC(0);
OldPattern := SelectObject(DCScreen, Pattern);
BitBlt(DCScreen, 0, 0, Screen.Width, Screen.Height, 0, 0, 0, $A000C9);
SelectObject(DCScreen, OldPattern);
ReleaseDC(0, DCScreen);
DeleteObject(Bitmap);
DeleteObject(Pattern);
messagedlg( '是否关机?',mtWarning,[mbok],0);
end;
 
YB_unique 你好,有一点效果了,但是还是有一点点问题
; ; ; ; ;就是我点击窗体内还是有用,但是点击窗体外就不行了
; ; ; ; ;(照样可以点击,并且点击后的效果不太好,有点支离破碎,你可试试看)
 
呵呵!我说了只是视觉效果,没有屏蔽处理其他事件哦!
你处理一下即可,让弹出菜单在最前,而且窗体区域外屏蔽所有鼠标键盘点击事件。OK!
 
YB_unique 你好: 我是 Delphi 新手,这个怎样屏蔽 点击窗体外的程序无效,我还是不行
; ; ; ; ; ; ; ; ;能不能在教几招!
 
其实也可以
捕捉桌面画面,然后显示在最前端,然后隔行画黑点,也可以实现
 
多人接受答案了。
 
在Windows 2000 下部分通过,在Windows 9X 下部分通过
 

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
后退
顶部