C++ WIN32(奔跑吧飞鱼)
来源:互联网 发布:sia国际艺术教育 知乎 编辑:程序博客网 时间:2024/04/30 06:00
#include<windows.h>#include"resource1.h"HINSTANCE hIns;int x=0;LRESULT CALLBACK MyWinMain(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)//回调函数(消息的){ switch(uMsg) { case WM_CLOSE: { ::PostQuitMessage(0); } case WM_PAINT: { HDC hdcDest=::GetDC(hWnd); //创建一个目标DC HDC hdcSrc =::CreateCompatibleDC(hdcDest);//创建一个兼容性dc,与目标dc兼容(此时还没装图片) HBITMAP BitMap=::LoadBitmap(hIns,MAKEINTRESOURCE(IDB_BITMAP3));//加载位图 ::SelectObject(hdcSrc,BitMap);//这时,选择一张位图,添加上; ::BitBlt(hdcDest,x,0,100,100,hdcSrc,0,0,SRCAND);//加载位图,首先是目标,其次是源 ::DeleteDC(hdcSrc); //删除dc (后创建的先释放) ::DeleteObject(BitMap); //删除位图 ::ReleaseDC(hWnd,hdcDest); //释放hdc (先创建的后释放) } break; case WM_KEYDOWN: //判断按键 { switch(wParam) //按键里面有 virtual-key 存储在wParam里 { case VK_RETURN: //回车虚拟按键 { ::SetTimer(hWnd,100,10,NULL); //设置编号100的10ms定时器、、只要按下回车就启动定时器,就会执行定时器里面的内容 } break; } } break; case WM_TIMER: { x++; HDC hdcDest=::GetDC(hWnd); //创建一个目标DC HDC hdcSrc =::CreateCompatibleDC(hdcDest);//创建一个源DC HBITMAP BitMap=::LoadBitmap(hIns,MAKEINTRESOURCE(IDB_BITMAP3));//加载位图 ::SelectObject(hdcSrc,BitMap);//将位图放到兼容性dc里 ::Rectangle(hdcDest,0,0,500,500);//覆盖每次的轨迹,在拷贝之前设置一个矩形窗; ::BitBlt(hdcDest,x,0,100,100,hdcSrc,0,0,SRCAND);//然后拷贝源dc里面的位图,将他放到目标窗口里 ::DeleteDC(hdcSrc); //删除dc (后创建的先释放) ::DeleteObject(BitMap); //删除位图 ::ReleaseDC(hWnd,hdcDest); //释放hdc (先创建的后释放) } break; } return DefWindowProc(hWnd,uMsg,wParam,lParam); //返回消息的默认处理}int CALLBACK WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ hIns=hInstance; //设置画刷 HBRUSH hBrush=::CreateSolidBrush(RGB(62,71,98)); //设计窗口 WNDCLASSEX wndclass; wndclass.cbClsExtra=0; wndclass.cbSize=sizeof(wndclass); wndclass.cbWndExtra=0; wndclass.hbrBackground=hBrush; wndclass.hCursor=0; wndclass.hIcon=0; wndclass.hIconSm=0; wndclass.lpfnWndProc=MyWinMain; wndclass.lpszClassName="Leo"; //注册窗口时候要的名字,作为参数 wndclass.lpszMenuName=0; //菜单名字 wndclass.style=CS_HREDRAW|CS_VREDRAW; wndclass.hInstance=hInstance; //注册窗口 if(RegisterClassEx(&wndclass)== false) { MessageBox(NULL,"注册失败","提示",MB_OK); return 0; } //创建 HWND hWnd=::CreateWindow("Leo","Small Test",WS_OVERLAPPEDWINDOW,0,200,500,500,NULL,NULL,hInstance,NULL); //显示窗口 ShowWindow(hWnd,nCmdShow); //消息循环 MSG msg; while(::GetMessage(&msg,0,0,0)) { ::TranslateMessage(&msg); //将得到的消息翻译 ::DispatchMessage(&msg); //翻译来的消息发送 } return 0;}
0 0
- C++ WIN32(奔跑吧飞鱼)
- 奔跑吧
- 奔跑吧,我的JavaScript(1)
- 奔跑吧,少年
- 奔跑吧,闪存!
- 奔跑吧2015
- 奔跑吧2015
- 奔跑吧,EchoStudio!
- 奔跑吧,女神!
- 奔跑起来吧!青春
- 奔跑吧Pedometer
- 奔跑吧linux
- 奔跑吧 Linux内核
- 奔跑
- 奔跑
- 奔跑
- 手游《奔跑吧?骚年!》技术分享(一):开篇
- 奔跑吧,panda(每日运动记录,持续更新)
- 强化学习导论(Reinforcement Learning: An Introduction)读书笔记(二):多臂赌博机(Multi-arm Bandits)
- C++ WIN32(鼠标画点击放下矩形)
- 【NOIP2014八校联考第2场第2试9.28】分组(group)
- Oracle入门
- 网站地图爬虫
- C++ WIN32(奔跑吧飞鱼)
- android 引用分析
- JS javascript 中的高级知识
- (十五)剑指offer之从上向下打印二叉树
- 算法竞赛入门经典 习题1-9 三角形(triangle)
- 初探委托
- iOS中nil、Nil、NULL、NSNull 区别
- 分类器对未见过类别的识别问题
- C++ 标准输入输出问题