方法很多1,创建一个全屏幕的窗口,窗口里显示BITMAP
这里用MFC生成一个对话框,在上面放一个BITMAP控件(就是你的temp.bmp,具体加控件方法偶就不说了),在资源编辑起里修改对话框属性,去掉标题条,去掉边框,使其成dialogbar模样(不这样也成,关键是后面的setwindowpos函数)
在InitDialog函数里加上
SetWindowPos(&wndTop,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),SWP_NOMOVE |SWP_NOSIZE |SWP_SHOWWINDOW );然后GetDlgItem(IDC_BMP)->SetWindowPos(&wndTop,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),SWP_NOMOVE |SWP_NOSIZE |SWP_SHOWWINDOW );就行了
上面代码是我平空想的也没测试,道理成了就行了,你动手试试就行了方法2,直接操作屏幕,不创建窗口HDC hdc=::GetDC(0);//获得屏幕DC
之后我就不说了,打字多了手指疼
这里用MFC生成一个对话框,在上面放一个BITMAP控件(就是你的temp.bmp,具体加控件方法偶就不说了),在资源编辑起里修改对话框属性,去掉标题条,去掉边框,使其成dialogbar模样(不这样也成,关键是后面的setwindowpos函数)
在InitDialog函数里加上
SetWindowPos(&wndTop,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),SWP_NOMOVE |SWP_NOSIZE |SWP_SHOWWINDOW );然后GetDlgItem(IDC_BMP)->SetWindowPos(&wndTop,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),SWP_NOMOVE |SWP_NOSIZE |SWP_SHOWWINDOW );就行了
上面代码是我平空想的也没测试,道理成了就行了,你动手试试就行了方法2,直接操作屏幕,不创建窗口HDC hdc=::GetDC(0);//获得屏幕DC
之后我就不说了,打字多了手指疼
{ HDC hdc = ::GetDC(0); //获得桌面HDC HBITMAP hbitmap;
HDC fromdc;
hbitmap=(HBITMAP)LoadImage(GetModuleHandle(NULL),"temp.bmp",
IMAGE_BITMAP,
0,0,//这两个参数是0就是全选图片
LR_LOADFROMFILE |
LR_CREATEDIBSECTION );
fromdc=CreateCompatibleDC(NULL);
SelectObject(fromdc,hbitmap);
StretchBlt(hdc,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),fromdc,0,0,520/*图片宽*/,316/*高*/,SRCCOPY); DeleteObject(hbitmap);
DeleteDC(fromdc);
}
InvalidateRect(0,NULL,0);
刷新屏幕