MFC第一个窗口,写,右键时间,左键坐标
来源:互联网 发布:淘宝网页模板免费下载 编辑:程序博客网 时间:2024/05/22 02:57
#include<windows.h>#include<stdio.h>LRESULT CALLBACK WinProc(// WinProc这个名字可以随便改的WindowProc HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter );int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // pointer to command line int nCmdShow // show state of window ){//1.注册窗口类WNDCLASS wc;wc.cbClsExtra=0;wc.cbWndExtra=0;//wc.hbrBackground=::CreateSolidBrush(0X000000ff);//也可以这样写wc.hbrBackground=::CreateSolidBrush(RGB(255,0,0));//可以用CreateSolidBrush也可以用GetStockObjectwc.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH);//里面的颜色是系统默认的一些值,BLACK_BRUSH也是其中一个wc.hCursor=::LoadCursor(NULL,IDC_ARROW);// 这里不可以用HINSTANCE hInstance, 主要是我们现在还没有做,所以就没有wc.hIcon=::LoadIcon(NULL,IDI_HAND) ;wc.hInstance= hInstance;wc.lpfnWndProc=WinProc;//指向命令行的指针wc.lpszClassName = "wuciqiu2015";wc.lpszMenuName = NULL;//菜单名为空wc.style = CS_HREDRAW | CS_VREDRAW |CS_DBLCLKS;//窗口在水平方向上发生变化时会发生同会ATOM wu= ::RegisterClass(&wc);if(0 == wu)//失败了{return 0;}//2.创建窗口类HWND hWnd = ::CreateWindow(wc.lpszClassName,"wuciqiu first win",WS_OVERLAPPEDWINDOW,10,10,800,600,NULL,NULL,hInstance,NULL);//会发送一个WM_CREATE消息到window procedureif(0 == hWnd) return 0;//3.显示窗口::ShowWindow(hWnd,SW_SHOW);//4.更新窗口::UpdateWindow(hWnd);//5.消息循环MSG msg;//这里的msg不要付初值,因为就是通过getmessage来获取信息的while(BOOL bok = ::GetMessage(&msg,NULL,0,0)){// BOOL bok = ::GetMessage(&msg,NULL,0,0);//第二个参数是指当前窗口的// if(bok == false)//WM_QUIT == false::DispatchMessage(&msg);}//MSG msg;//return msg.wParam;return 0;}LRESULT CALLBACK WinProc(// WinProc这个名字可以随便改的WindowProc HWND hWnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ){ switch(uMsg){case WM_CLOSE:{::DestroyWindow(hWnd);// 它运行完将发送WM_DESTROY信息//::SendMessage(hWnd,WM_QUIT,0,0);//思路是对的,要向信息队列里面发送信息,但是不能这样发对于WM_QUIT // ::PostQuitMessage(0);//而是用它来退出,也可以用case WM_DESTROY:来完成退出}break;case WM_DESTROY:{::PostQuitMessage(0);}break;case WM_KEYDOWN:{char szMsg[10]={0};sprintf(szMsg,"%c",wParam);//字符串格式化HDC hdc = GetDC(hWnd);//写字绘图的三步曲::TextOut(hdc,10,10,szMsg,strlen(szMsg));::ReleaseDC(hWnd,hdc);}break;case WM_LBUTTONDOWN://左键{HDC hdc= GetDC(hWnd);//现在就是要找到x,y的坐标//MSG msg;//msg.wParam = UK_SHIFT//msg.lParam = MAKELONG(X,Y)char szMsg[] = {"1024,768"};sprintf(szMsg,"%d %d",LOWORD(lParam),HIWORD(lParam));::TextOut(hdc,LOWORD(lParam),HIWORD(lParam),szMsg,strlen(szMsg));::ReleaseDC(hWnd,hdc);}break;case WM_RBUTTONDOWN://右键,出现时间{HDC hdc= GetDC(hWnd);char szMsg[] = {"44:33:45"};SYSTEMTIME tm;::GetLocalTime(&tm);sprintf(szMsg,"%02d:%.2d:%.2d",tm.wHour,tm.wMinute,tm.wSecond);::TextOut(hdc,LOWORD(lParam),HIWORD(lParam),szMsg,strlen(szMsg));::ReleaseDC(hWnd,hdc);}break;default:return ::DefWindowProc(hWnd,uMsg,wParam,lParam);}return 0;}
0 0
- MFC第一个窗口,写,右键时间,左键坐标
- Axiom3D写游戏:第一个窗口
- MFC - 窗口的右键菜单
- 用VC写的第一个窗口程序 Hello World!
- PureBasic调用Windows SDK写第一个窗口
- MASM写的第一个Win32 窗口程序
- 动手写第一个windows程序 新建一个窗口
- MFC 对话框上RGB图像缩放,左键放大,右键缩小+滚动条使用
- MFC 对话框 之Yuv ddraw缩放+滚动条+左键放大,右键缩小
- 写一个HTML页面,实现以下功能,左键点击页面时显示“你好”,右键点击时显示“禁止右键”。
- 第一个窗口程序
- 第一个D3D窗口
- 创建第一个窗口
- 第一个窗口程序
- 第一个窗口
- 第一个窗口程序
- java第一个窗口
- MFC 无标题窗口移动、任务栏右键菜单
- [leetcode]Search a 2D Matrix
- 纯CSS绘制三角形(各种角度)
- C语言流程控制之循环笔记
- hiho一下 第五十五周 连通性·四(无向图点双连通分量)
- 有道小工具
- MFC第一个窗口,写,右键时间,左键坐标
- 算法(第四版)学习笔记之java实现归并排序
- 百度云消息推送机制在即时通信聊天界面的信息处理,技巧篇。
- ubuntu14.04+cuda7.0+opencv2.4.9
- gtk拖拽面板
- Xcode自定义alertview
- C6678中的PCIE相关总结(1)
- jsp 页面添加视频并显示播放时间
- 打开设备管理器的快捷方式