网络上有很多利用VB编程实现屏幕变暗的效果(像关闭Win95时的效果),我用VC改写了一下,权利属于原文作者! 正文 HDC hdc; //屏幕的宽度个高度 int SCRWidth,SCRHeight;
if(m_Bool) { BYTE bybits[] = {0x55, 0x0, 0xAA, 0x0, 0x55, 0x0, 0xAA, 0x0, 0x55, 0x0, 0xAA, 0x0, 0x55, 0x0, 0xAA, 0x0};
hBitmap = ::CreateBitmap(8, 8, 1, 1, bybits); hBrush = ::CreatePatternBrush(hBitmap);
hdc = ::GetDC(NULL); SCRWidth = ::GetSystemMetrics(SM_CXSCREEN); SCRHeight = ::GetSystemMetrics(SM_CYSCREEN);
::SelectObject(hdc,hBrush); //0xA000C9 ::PatBlt(hdc,0,0,SCRWidth,SCRHeight,0xA000C9);
::DeleteObject(hBrush); ::ReleaseDC(0, hdc); } else //重画整个屏幕 ::InvalidateRect(NULL, 0, 1);
正文完,本文源代码:
http://www.vchelp.net/ASP/ibr_upload/656.rar
|