HELLOWIN(2)
来源:互联网 发布:集体智慧编程 编辑:程序博客网 时间:2024/06/05 12:02
此例题来自3.1.2 完整创建一个窗口,且能处理函数,中间自己期间遇到些问题,
比方说CreateWindow函数少一个参数,比方说callback函数写错 引发c4330错误,还有后面WM_CREATE中
PlaySound引发 error LNK2001: 无法解析的外部符号 __imp__PlaySoundA@12错误,主要原因就是自己在目录下根本就没有这个文件,自然要引发错误!
中的总体还是能顺利编译程序,对程序的具体还需要我自己慢慢理解:
#include <Windows.h>LRESULT CALLBACK WndProc (HWND, UINT,WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, PSTR szCmdLine,int iCmdShow){//LRESULT CALLBACKE WndPro(HWND, UINT,WPARAM, LPARAM);static TCHAR szAppName[]=TEXT("HeeloWin");HWND hWnd;MSG msg;WNDCLASS wndclass;wndclass.style =CS_HREDRAW| CS_VREDRAW;wndclass.lpfnWndProc =WndProc;wndclass.cbClsExtra =0;wndclass.cbWndExtra =0;wndclass.hInstance =hInstance;wndclass.hIcon =LoadIcon(NULL,IDI_APPLICATION);wndclass.hCursor =LoadCursor (NULL,IDC_ARROW);wndclass.hbrBackground =(HBRUSH) GetStockObject (WHITE_BRUSH);wndclass.lpszClassName =szAppName;wndclass.lpszMenuName =NULL;if(!RegisterClass(&wndclass)){MessageBox(NULL,TEXT("this program requries window nt!"),szAppName,MB_ICONERROR);return 0;}hWnd=CreateWindow(szAppName, TEXT ("the hello program"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);ShowWindow(hWnd,iCmdShow);UpdateWindow(hWnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;}LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam){HDC hdc;PAINTSTRUCT ps;RECT rect;switch(message){case WM_CREATE://PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC);return 0;case WM_PAINT:hdc=BeginPaint(hWnd,&ps);GetClientRect(hWnd,&rect);DrawText(hdc,TEXT("hello,windows 7"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);EndPaint(hWnd,&ps);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hWnd,message,wParam,lParam);}
效果图:
- HELLOWIN(2)
- HELLOWIN程序(窗口类)
- windows编程笔记(二)HelloWin
- HELLOWIN程式---HELLOWIN.C
- [Cocoa] Cocoa Tutorial 2: HelloWin without XCode and Interface Builder
- windows程序设计 and windows核心编程(HELLOWIN例程)
- windows程序设计(1):我对hellowin程序的解读
- HELLOWIN程序
- HELLOWIN程序
- 3. HelloWin
- HelloWin Demo with codes
- 大师的HELLOWIN
- windows 程序设计 hellowin
- hellowin -windows菜单编程
- ' note for hellowin!
- HelloWin程序注释尝试
- windows程序设计 HELLOWIN程序
- HELLOWIN的问题,持续中
- EJB打包部署,用Main访问
- C/C++ 语言中的表达式求值
- APK权限大全
- 程序员打油诗
- SO_KEEPALIVE
- HELLOWIN(2)
- Texture Wrapping Mode
- 英语练习147 What's new
- MyEclipse 6.5 启动后出现“initializing java tooling(0%)” 后程序未响应解决
- 02 - 基本控件:按钮控件(Button、ImageButton、ToggleButton)
- MyEclipse 6.5启动在“Loading com.genuitec.eclipse.sqlexplorer”卡住解决
- mysql 的load data local infile命令
- android学习笔记之BroadcastReceiver应用详解
- 程序员面试题精选100题(55)-不用+、-、×、÷做加法