⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rctest.cpp

📁 c++从入门到精通
💻 CPP
字号:
#include <windows.h>
#include "resource.h"
long WINAPI WndProc(HWND hWnd,UINT iMessage,
					WPARAM wParam,LPARAM lParam);

HDC hdc;
HDC hdcmem;
HBITMAP hBitmap;
HINSTANCE hInt;
BITMAP bm;

int WINAPI WinMain(HINSTANCE hInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpCmdLine,
				   int nCmdShow)	
{
	MSG Message;					//定义消息变量
	HWND hWnd;						//定义窗口句柄
	WNDCLASS WndClass;				//定义窗口类
	WndClass.cbClsExtra=0;			//无窗口类扩展
	WndClass.cbWndExtra=0;			//无窗口实例扩展
	//背景色为白色
	WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
	WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);//光标为为箭头
	//采用自定义图标
	WndClass.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));	
	WndClass.hInstance=hInstance;			//当前实例
	WndClass.lpfnWndProc=WndProc;			//消息处理函数
	WndClass.lpszClassName="MenuInstance";//窗口类名称
	WndClass.lpszMenuName=NULL;
	WndClass.style=0;			//缺省窗口风格
	hInt=hInstance;
	HMENU hmenu;
	hmenu=LoadMenu(hInstance,MAKEINTRESOURCE (IDR_MENU1));
	
	if(!RegisterClass(&WndClass))//注册窗口.
	{
		MessageBeep(0);			//注册失败发出警告声.
		return FALSE;
	}

	hWnd=CreateWindow("MenuInstance",		//窗口类名称
					"位图、图标实例程序",		 	//标题栏名称
					WS_OVERLAPPEDWINDOW,	//窗口样式
					CW_USEDEFAULT,			//窗口左上角坐标
					0,
					CW_USEDEFAULT,			//采用自定义的高度和宽度
					0,
					NULL,					//无父窗口
					hmenu,					//菜单
					hInstance,				//当前应用实例句柄
					NULL);					//指向传递给窗口的参数的指针
	
	


	hBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
	GetObject(hBitmap,sizeof(BITMAP),(LPVOID)&bm);
	//刷新用户区
	ShowWindow(hWnd,nCmdShow);				//显示窗口
	UpdateWindow(hWnd);	
	
	while(GetMessage(&Message,0,0,0))
	{
		//若是对话框消息,发往对话框处理函数
		
			TranslateMessage(&Message);			//消息循环
			DispatchMessage(&Message);
	
	}
	return Message.wParam;
}

long WINAPI WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	PAINTSTRUCT ps;
	switch(iMessage)
	{
	case WM_CREATE: 
			hdc=GetDC(hWnd); //获取设备环境句柄
       		hdcmem=CreateCompatibleDC(hdc); //获取内存设备环境句柄
			ReleaseDC(hWnd,hdc); //释放设备环境句柄
			break;
	

	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDM_NEW:	//点击New菜单
				MessageBox(hWnd,"你单击了新建菜单",NULL,NULL);
				break;

		case IDM_EXIT:	//点击New菜单
			SendMessage(hWnd,WM_DESTROY,0,0);//发送退出消息
			break;
		}
		
	case WM_PAINT:
		hdc=BeginPaint(hWnd,&ps);
		GetObject(hBitmap,sizeof(BITMAP),&bm);
		SelectObject(hdcmem,hBitmap);
		BitBlt(hdc,100,100,bm.bmWidth,bm.bmHeight,hdcmem,0,0,SRCCOPY);
		DeleteDC(hdcmem);
		EndPaint(hWnd,&ps);
		break;
	
	case WM_DESTROY://退出
		DeleteObject(hBitmap);
		PostQuitMessage(0);
		break;
	
	default:
		return(DefWindowProc(hWnd,iMessage,wParam,lParam));
	}
	return 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -