最近在做一个小东西,我想做成象Windows 关机时的屏幕啊!就是那种不清楚的屏幕啊!请各位大侠帮忙啊!

解决方案 »

  1.   

    方法一
    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俱乐部!
    请结贴!
      

  2.   

    为了知道你要的效果我特意起了一次98。
    可以屏蔽掉任务栏
    EnableWindow(FindWindow('Shell_TrayWnd',nil),false);//false 任务栏无效
    messagedlg( 'dddd',mtWarning,[mbok],0);          
    EnableWindow(FindWindow('Shell_TrayWnd',nil),true);//false 任务栏无效不知道你需要什么效果。如果还要屏蔽其他什么的。可以搜索一下。有很多已经回答的贴为了方便控制也可以把鼠标缩定在某个显示区。 程序结束后注意刷新。
      

  3.   

    你可以让她透明吗?
    确定的话就 close
    取消的话在不透明不就行了 a
    啊!
      

  4.   

    谢谢 游牧人(虫子 这位大哥!我自己去看看!
    但我看 Windows 的关机屏幕不会出现上面的问题!