PrivateTypeRECT LeftAsLong TopAsLong RightAsLong BottomAsLong EndType
PrivateDeclareFunctionGetDCLib"user32"(ByValhwndAsLong)AsLong PrivateDeclareFunctionReleaseDCLib"user32"(ByValhwndAsLong,ByValhdcAsLong)AsLong PrivateDeclareFunctionCreatePatternBrushLib"gdi32"(ByValhBitmapAsLong)AsLong PrivateDeclareFunctionPatBltLib"gdi32"(ByValhdcAsLong,ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValdwRopAsLong)AsLong PrivateDeclareFunctionDeleteObjectLib"gdi32"(ByValhObjectAsLong)AsLong PrivateDeclareFunctionCreateBitmapLib"gdi32"(ByValnWidthAsLong,ByValnHeightAsLong,ByValnPlanesAsLong,ByValnBitCountAsLong,lpBitsAsAny)AsLong PrivateDeclareFunctionSelectObjectLib"gdi32"(ByValhdcAsLong,ByValhObjectAsLong)AsLong PrivateDeclareFunctionInvalidateRectLib"user32"(ByValhwndAsLong,ByVallpRectAsLong,ByValbEraseAsLong)AsLong
Privatebybits(1To16)AsByte PrivatehBitmapAsLong,hBrushAsLong PrivatehDesktopWndAsLong 注释:将图变暗,如同待关机一般 PrivateSubCommand1_Click() DimropAsLong,resAsLong Dimhdc5AsLong,width5AsLong,height5AsLong 注释:如果只要让Picture1有效果将底下三行unMark取代hdc5,width5,height5三个值 注释:hdc5=Picture1.hdc 注释:width5=Picture1.ScaleWidth 注释:height5=Picture1.ScaleHeight
注释:底下三行设定整个萤幕都暗下来 hdc5=GetDC(0) width5=Screen.Width\Screen.TwipsPerPixelX height5=Screen.Height\Screen.TwipsPerPixelY
rop=&HA000C9注释:与原图做and运算 CallSelectObject(hdc5,hBrush) res=PatBlt(hdc5,0,0,width5,height5,rop) CallDeleteObject(hBrush) 注释:如果只暗picture1则底下这一行要mark起来 res=ReleaseDC(0,hdc5) EndSub 注释:回复原本的画面 PrivateSubCommand2_Click() DimaaAsLong 注释:如果只暗picture1则底下这一行要unMark起来 注释:Picture1.Refresh
注释:如果只暗picture1则底下这一行要mark起来 aa=InvalidateRect(0,0,1) EndSub
PrivateSubForm_Load() Dimary DimiAsLong ary=Array(&H55,&H0,&HAA,&H0,_ &H55,&H0,&HAA,&H0,_ &H55,&H0,&HAA,&H0,_ &H55,&H0,&HAA,&H0) Fori=1To16 bybits(i)=ary(i-1) Nexti hBitmap=CreateBitmap(8,8,1,1,bybits(1)) hBrush=CreatePatternBrush(hBitmap) Picture1.ForeColor=RGB(0,0,0) Picture1.BackColor=RGB(255,255,255) Picture1.ScaleMode=3 EndSub->
|