/* 所有的窗口输出到这里去 */LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { /* 停止后 , 告诉主线程停止 */ case WM_DESTROY: { PostQuitMessage(0); break; } /* 所有其他消息(很多人)都使用默认程序处理 */ default: return DefWindowProc(hwnd, Message, wParam, lParam); } return 0;}/* Win32 GUI程序的主要功能:执行从这里开始 */int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; /* 窗口的属性结构 */ HWND hwnd; /* "句柄" 一个窗口的标识符 */ MSG Msg; /* 所有消息的临时位置 */ /* 修改结构和设置的东西 */ memset(&wc,0,sizeof(wc)); wc.cbSize = sizeof(WNDCLASSEX); wc.lpfnWndProc = WndProc; /* 将发送消息的地方 */ wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* 白色 , COLOR_WINDOW是系统定义的颜色值 , 其数值是5 */ wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wc.lpszClassName = "WindowClass"; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); /* 载入一个标准图标 */ wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); /* 使用名称“A”来作为该项目图标 */ if(!RegisterClassEx(&wc)) { MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK); return 0; } hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, /* x */ CW_USEDEFAULT, /* y */ 640 , /* 宽度 */ 480 , /* 高度 */ NULL,NULL,hInstance,NULL); if(hwnd == NULL) { MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK); return 0; } /* 所有的输入处理和发送到窗口过程 。
注意 , 这个块代码流 , 直到它接收到的东西 , 所以回路不会产生不合理的高CPU使用率 。*/ while(GetMessage(&Msg, NULL, 0, 0) > 0) /* 如果没有收到任何错误…*/ { TranslateMessage(&Msg); /* 如果存在翻译关键码字符*/ DispatchMessage(&Msg); /* 发送它到WndProc */ } return Msg.wParam;} 。
8. 怎么用c语言做一个界面 最低0.27元开通文库会员 , 查看完整内容> 原发布者:ltqwby 我们大一上学期学习了C语言 , 黄老师给我们只讲到了结构体 , 并且只是简单的说了一下 , 大多数同学对结构体以后的C内容基本属于空白 , 至今我们大多数同学只会编个简单的DOS程序 , 很多同学对以后找工作很是迷茫 , 很多同学都质疑学习C到底能干什么 , 现在的应用程序那么精彩 , 用一个C怎么做出来?其实我们仅仅学习C的皮毛 , 相信对于指针p*和数组a[]的概念大多数同学依旧是很乱 , 这就需要我们大家多多上机写程序 , 亲身做一下程序 , 理解起来就比较容易了 。
我们写的程序一般都是在cmd.exe(java也是如此)中运行 , 但是与用户有友好界面交互的应用程序我们还没有学习 , 我们也很想写出一个小程序 , 不需要多精彩 , 就想附件中自带的计算器这样的简单程序 , 但是用一个C行吗 , 以我们现在的知识水平能够编出一个像样的程序吗?我们编译出来的文件都是那样一个超难看的图标 , 我们能给我们的程序穿上好看的衣服吗?我们还在用着VC的经典版本VC++6.0 , 这一个看似不够强大的编辑器能够给我们编出一个强大的程序吗 , 答案是肯定的 , 一个VC++6.0足够了 , 虽然其中的BUG和界面设计很粗糙 , 但是对于我们初学者来说已经足够了 , 并且编出一个像模像样的应用程序也是足够的 。(这让我很想带电脑去学校 。