#include <windows.h> #include <stdio.h> LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { //设计一个窗口类 WNDCLASS wndcls; wndcls.cbClsExtra = 0; wndcls.cbWndExtra = 0; wndcls.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH); wndcls.hCursor = LoadCursor(NULL, IDC_CROSS); wndcls.hIcon = LoadIcon(NULL, IDI_ERROR); wndcls.hInstance = hInstance; //应用程序实例句柄由WinMain函数传进来 wndcls.lpfnWndProc = WinSunProc; wndcls.lpszClassName = "yongjian"; wndcls.lpszMenuName = NULL; wndcls.style = CS_HREDRAW | CS_VREDRAW; RegisterClass(&wndcls); //创建窗口,定义一个变量用来保存成功创建窗口后返回的句柄 HWND hwnd; hwnd = CreateWindow("yongjian", "http://www.baidu.com", WS_OVERLAPPEDWINDOW, 0, 0, 600, 400, NULL, NULL, hInstance, NULL); //显示及刷新窗口 ShowWindow(hwnd, SW_SHOWNORMAL); UpdateWindow(hwnd); //定义消息结构体,开始消息循环 MSG msg; while (GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } //编写窗口过程函数 LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CHAR: char szChar[20]; sprintf_s(szChar, "char code is %d", wParam); MessageBox(hwnd, szChar, "char", 0); break; case WM_LBUTTONDOWN: MessageBox(hwnd, "mouse clicked", "message", 0); HDC hdc; hdc = GetDC(hwnd); TextOut(hdc, 0, 50, "程序员之家", strlen("程序员之家")); break; case WM_PAINT: HDC hDC; PAINTSTRUCT ps; hDC = BeginPaint(hwnd,&ps); TextOut(hDC, 0, 0, "http://www.baidu.com", strlen("http://www.baidu.com")); EndPaint(hwnd,&ps); break; case WM_CLOSE: if(IDYES == MessageBox(hwnd, "是否真的结束?", "message", MB_YESNO)) { DestroyWindow(hwnd); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; }
相关推荐
一个WinMain程序,About对话框有问题,产生的不对!
vc中的winmain函数的用法与理解 int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int ...
入口函数( main、WinMain) 在C/C++中,我们知道有一个如下格式的函数: int main(int argc, _TCHAR* argv[]) { return 0; } 该函数是C/C++中的入口函数,而在WindowsAPI中也有自己的入口函数,该函数的格式...
VC++ 使用WinMain建立窗口 欢迎下载使用 VC++ 使用WinMain建立窗口
用于初学者理解,主函数winmain在mfc中 与以前 c中mian的不同之处
常用的WinMain写法: 只创建窗口 无多余注释 代码90行 VS2010直接用
主要针对vc++课程中的WinMain函数进行了举例说明,并给出了相应的实现代码。
WinMain的编写
最简单的winmain程序 #include #include LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { HDC hdc; switch(uMsg) { case WM_CHAR: char szChar[20]; sprintf(szChar,...
程序中隐藏WinMain函数,当成是头文件包含进来,我们开发就不需要改动WinMain函数, CWinApp 和CDialog类在SDK中模拟实现,程序会进入我写的InitInstance,该函数里面负责显示窗口,窗口类里面有窗口过程...
c++窗体程序设计必备winmain函数
inMain在MFC程序中是如何从源程序中被隐藏的,theApp全局变量是如何被分配的,MFC框架中的几个类的作用与相互关系,MFC框架窗口是如何产生和销毁的,对窗口类的PreCreateWidow和OnCreate两个函数的着重分析,Windows...
自己写的带有菜单的WinMain函。代码清晰,简单。知识单一。
关于VC6.0中 运行错误 unresolved external symbol _WinMain@16的解决
本程序简单的实现了窗口界面,压缩包里包括了所有的程序和工程,可以直接编译!
Win32 project 设计窗口类;注册;创建;显示及更新。
阐述了C++中vc中error LNK2001 resolved external symbol _WinMain@16的解决方法的解决方法。
一个简单的WinMain,初学者交流学习。
WinMain函数的输入,窗口的设计,建立,注册,显示以及更新等等
和C语言中的main()函数一样,Windows程序是从WinMain()函数开始和结束的.WinMain()函数是在WINBASE.H中定义的,其原形如下: int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ...