本帖最后由 超神级 于 2014-3-4 00:02 编辑
//前言:这是C语言(win) api编程!下面注释是我参考了一些教材!和我本人自己理解写的!
//下面注释可以不看...大多数都是我瞎写的!凭感觉!
#include "stdafx.h"
#include <windows.h>
#include <windowsx.h>
#include "dialog.h"//对话框
#include "resource.h"//资源脚本
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)//入口!就像int main()
{
DialogBox(hInstance,MAKEINTRESOURCE(IDD_MAIN),NULL,Main_Proc);
//它的作用是从一个对话框资源中创建一个模态对话框。
return 0;
}//上面代码相当于初始化界面!
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
//HANDLE_MSG就是告诉windows,当发生WM_COMMAND消息(发生人机交互的时候)的时候请通知
//Main_OnCommand函数!
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
}
return FALSE;
}//上面代码相当于windows的消息机制!什么是消息机制?在windows中一个程序可能有多种选择状态在待命
//这样就无法同时等待用户的这些动作!所以Windows 引入了消息机制(也可以叫做回调机制或者事件机制)。
//不再是程序调用操作系统的函数,而是操作系统反过来调用你的函数...简尔言之。用来人机交互的!
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
return TRUE;
}
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
////发生人机交互的时候windows会把这个按钮或者菜单等id号传过来!然后让swith判断id号执行的哪个语句
{
switch(id)
{
case IDC_OK:
{
//代码一般在switch语句里写!
}
break;
default:
break;
}
}
//上面swith我们一般用来处理消息的!
void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd, 0);
}
//这个顾明思意!
msdn库中文版这个是链接地址!
|