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

📄 simpleapi.c

📁 简单的mfc程序设计源代码
💻 C
字号:
//
// 使用API编制的一个简单的Windows程序
//
#include <windows.h> 
// 声明全局变量
HINSTANCE ghInst= NULL; // 实例的句柄
char* szAppName	= "SimpleAPI";
char* szAppTitle	= "用API编制的一个简单的窗口";
// 函数定义处
// 消息处理函数
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
// 应用程序入口函数
int WINAPI WinMain( HINSTANCE, HINSTANCE,LPSTR, int );
//===================================================
// 消息处理函数
//===================================================
LRESULT CALLBACK WndProc( HWND hwnd, // 窗口句柄
						  UINT message, // 所发送的消息标识
						  WPARAM wParam, //窗口附加信息	
						  LPARAM lParam ) //窗口附加信息
{
	char* msgCreate		= "收到WM_CREATE消息!";
	char* msgDestroy	= "收到WM_DESTROY消息!";
	char* msgCaption	= "提示信息";
	char* msgLBTN		= "鼠标左键被按下!";
	switch( message )
	{
		// 响应 WM_CREATE 消息
		case WM_CREATE:
			// 弹出一个对话框通知收到消息
			MessageBox( GetFocus(),msgCreate, msgCaption,MB_OK|MB_ICONINFORMATION );
			break;
		//响应 WM_LBUTTONDOWN消息
		case WM_LBUTTONDOWN:
			MessageBeep(MB_ICONINFORMATION);
			MessageBox( GetFocus(), msgLBTN, msgCaption,MB_OK|MB_ICONINFORMATION );
			break;
		// 响应 WM_DESTROY 消息
		case WM_DESTROY:
			MessageBox( GetFocus(), msgDestroy, msgCaption, MB_OK|MB_ICONINFORMATION );
			PostQuitMessage( 0 );
			break;
		// Windows系统中规定必须调用此函数
		default : return DefWindowProc( hwnd, message, wParam, lParam );
	}
	return TRUE;//FALSE;
}
//
// 应用程序入口
//
int WINAPI WinMain( HINSTANCE hInstance, 
				    HINSTANCE hPrevInstance,
					LPSTR lpCmdLine, 
					int nCmdShow ) 
{
	WNDCLASS	wc ;//定义窗口类
    MSG				msg;//定义windows消息
	HWND			ghWnd = NULL; //主窗口句柄
	// 保存程序实例句柄
    ghInst = hInstance;
	// 为窗口类赋值
	wc.style         = CS_HREDRAW|CS_VREDRAW;
	wc.lpfnWndProc   = WndProc; // 消息处理函数
	wc.cbClsExtra    = 0;
	wc.cbWndExtra    = 0;
	wc.hInstance     = hInstance; // 应用程序实例句柄
	wc.hIcon         = LoadIcon(NULL,IDI_APPLICATION); // 装入图标
	wc.hCursor       = LoadCursor(NULL,IDC_ARROW); // 装入鼠标箭头
	wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 选择窗口背景颜色
	wc.lpszMenuName  = NULL; // 窗口中没有菜单
	wc.lpszClassName = szAppName; // 窗口所属类名
    RegisterClass( &wc ); // 注册窗口类
	// 创建窗口
	ghWnd = CreateWindow( szAppName, // 注册的窗口类名
	                      szAppTitle, // 窗口条上显示的名字
		                  WS_OVERLAPPEDWINDOW, // 窗口风格
		                  0, // 窗口的左上角的X坐标
		                  0, // 窗口的左上角的Y坐标
		                  400, // 窗口宽度
		                  350, // 窗口高度
		                  NULL, // 父窗口句柄
		                  NULL, // 菜单的句柄
		                  hInstance, // 程序的当前句柄
		                  NULL ); // 设置为空
	// 如果窗口创建失败就返回
	 if( NULL == ghWnd )
		 return 0;
    ShowWindow( ghWnd, nCmdShow ); // 显示窗口
    UpdateWindow( ghWnd ); // 更新窗口
	//=======================================================
	// 创建消息循环
	//=======================================================
    while( GetMessage( &msg, NULL, 0, 0 ) )
    {
		// 该函数翻译与键盘有关消息
		TranslateMessage( &msg );
		// 处理消息
		DispatchMessage( &msg );
	}
	return msg.wParam;
}

⌨️ 快捷键说明

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