最近在做一个小东西,我想做成象Windows 关机时的屏幕啊!就是那种不清楚的屏幕啊!请各位大侠帮忙啊!
解决方案 »
- 产生组合的个数问题
- 不早了,睡吧
- ADO连接带密码的ACCESS文件出错
- adoQuery使用缓存后没保存到数据库前时怎么判断是否修改了缓冲区数据
- 往数据库增加图片数据和从数据表中提出图片数据到IMAGE控件急呀
- delphi 返回 sqlserver 2000的两位小数浮点数变为多位,如何解决显示问题?
- 想做个简单的类似QQ的视频会议系统,希望了解这块的兄弟进来聊一下
- 菜菜的问题!!!
- 怎样把缩成任务栏按钮的应用程序还原??
- 我是DELPHI的初学者,望各位大虾推荐几本学习DELPHI的好书。谢谢!
- 在Rave中动态生成TRaveDataText?
- 新手请教高手?用RAVE制作报表时,能不能把弹出的预览窗口加到主窗体中去,产生类似ChildForm和MDIForm的效果??
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;恢复屏幕
procedure TForm1.Button2Click(Sender: TObject);
var arect:Trect;
begin
arect:=rect(0,0,800,600);
invalidaterect(0,@arect,true);
end;end.
方法二。方法一改进
改进了一下!爽!
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( 'dddd',mtWarning,[mbok],0);end;
转自DELPHI俱乐部!
请结贴!
可以屏蔽掉任务栏
EnableWindow(FindWindow('Shell_TrayWnd',nil),false);//false 任务栏无效
messagedlg( 'dddd',mtWarning,[mbok],0);
EnableWindow(FindWindow('Shell_TrayWnd',nil),true);//false 任务栏无效不知道你需要什么效果。如果还要屏蔽其他什么的。可以搜索一下。有很多已经回答的贴为了方便控制也可以把鼠标缩定在某个显示区。 程序结束后注意刷新。
确定的话就 close
取消的话在不透明不就行了 a
啊!
但我看 Windows 的关机屏幕不会出现上面的问题!