vs08新建win32空白项目 属性设置
来源:互联网 发布:陈一发知乎 编辑:程序博客网 时间:2024/06/05 21:03
c/c++ 预处理器定义 WIN32;_DEBUG;_WINDOWS;UNICODE
链接器-输入-附加依赖库 odbc32.lib odbccp32.lib winmm.lib
链接器-系统 子系统选择windows
其实没有这么麻烦~
添加->新建项目->Visual C++-> Win32 项目->下一步->Windows 应用程序 (空项目)
之后,源文件->添加->新建项->C++文件->m.c
就可以写程序了,
至于依赖库 写程序的时候用到再加就行了~
window程序设计,消息处理模版
#include "windows.h"LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam);int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd ){TCHAR szAppName[]=TEXT("testapp");TCHAR szWindowsName[]=TEXT("wndnew");HWND hwnd;MSG msg;WNDCLASS wndclass;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hInstance=hInstance;wndclass.lpfnWndProc=WndProc;wndclass.lpszClassName=szAppName;wndclass.lpszMenuName=NULL;wndclass.style=CS_HREDRAW|CS_VREDRAW;//支持重画if (!RegisterClass(&wndclass)){MessageBox(NULL,szWindowsName,TEXT("error!"),MB_ICONERROR);return 1;}hwnd=CreateWindow(szAppName,szWindowsName,WS_OVERLAPPEDWINDOW,//带标题栏的窗体CW_USEDEFAULT,//初始位置CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,nShowCmd);UpdateWindow(hwnd);//wrong//while (GetMessage(&msg,hwnd,NULL,NULL))while (GetMessage(&msg,NULL,NULL,NULL)){TranslateMessage(&msg);DispatchMessage(&msg);}return 0;}LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam){switch (message){case WM_DESTROY:PostQuitMessage(0);}//wrong//DefWindowProc(hwnd,message,wparam,lparam);//return 0;return DefWindowProc(hwnd,message,wparam,lparam);}
再贴一段检验窗口重绘的代码吧,根据杨力祥老师视频第7节写的
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam){static BOOL isChangCol=FALSE;HDC hdc;PAINTSTRUCT ps;RECT rec;HBRUSH hBrush;switch (message){case WM_DESTROY:PostQuitMessage(0);return 0;case WM_PAINT://hdc=BegainPaint(hwnd,&ps);hdc=BeginPaint(hwnd,&ps);hBrush=CreateSolidBrush(isChangCol?RGB(255,0,0):RGB(0,255,0));GetClientRect(hwnd,&rec);FillRect(hdc,&rec,hBrush);EndPaint(hwnd,&ps);DeleteObject(hBrush);isChangCol=!isChangCol;return 0;}//wrong//DefWindowProc(hwnd,message,wparam,lparam);//return 0;return DefWindowProc(hwnd,message,wparam,lparam);}
win7下主题要用windows经典才能看出遮挡效果……
- vs08新建win32空白项目 属性设置
- 新建cocos(Win32)项目
- 空白项目+win32代码=窗口
- VS2005不能新建Win32 智能设备项目
- select an archetype 空白--eclipse新建maven项目的bug
- VS2005不能新建Win32 智能设备项目 (转)
- VS2005不能新建Win32 智能设备项目的解决办法(转)
- cocos2d-x 游戏开发系列之二:新建win32项目
- 如何用VS2010新建一个Win32控制台应用程序项目
- VS08中的代码自动提示快捷键设置
- MyEclipse 新建web属性的Maven项目
- VS项目属性设置
- WPF新建项目设置启动程序
- div设置display:inline-block属性产生空白间距
- white-space 属性设置如何处理元素内的空白。
- Visual Studio新建项目时,win32控制台应用程序和win32项目、空项目、MFC应用程序有哪些区别
- myeclipse 设置项目层次和新建项目文件夹
- VS2010每次新建工程都要属性设置之解决方法
- 简单的RPC java实现
- java学习脚印:集合(Collection)之算法
- OpenCV问题集结版
- ADO和ADO.NET的区别
- Arm Linux交叉编译和连接过程分析(2)
- vs08新建win32空白项目 属性设置
- 详解排序算法C语言代码实现之选择排序法
- JAVA线程状态
- 将List集合插入到数据库中,C#中的事物实现
- pthread_mutex_t的使用
- Windows8.1添加无线打印机遇到0x0000057错误
- 购买商品房交税问题
- 最大公约数(gcd):Euclid算法证明及其它
- 动态规划之多边形游戏