Win32鼠标事件绘制直线


win32代码 通过鼠标事件绘制直线,
资源截图
代码片段和文件信息
// MouseTest.cpp : 定义应用程序的入口点。
//

#include “stdafx.h“
#include “MouseTest.h“
#include 

#define MAX_LOADSTRING 100

//宏定义可保存的线段最大数
#define LINECOUNT 100

// 全局变量: 
HINSTANCE hInst; // 当前实例
TCHAR sztitle[MAX_LOADSTRING]; // 标题栏文本
TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名
//鼠标左键是否按下
BOOL bMouseDown = false;
//重绘保存线段,声明结构体
typedef struct tagLine 
{
POINT ptStart;
POINT ptEnd;
}LINE;

// 此代码模块中包含的函数的前向声明: 
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE int);
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM);
INT_PTR CALLBACK About(HWND UINT WPARAM LPARAM);

int APIENTRY _tWinMain(_In_ HINSTANCE hInstance
                     _In_opt_ HINSTANCE hPrevInstance
                     _In_ LPTSTR    lpCmdLine
                     _In_ int       nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);

  // TODO:  在此放置代码。
MSG msg;
HACCEL hAccelTable;

// 初始化全局字符串
LoadString(hInstance IDS_APP_title sztitle MAX_LOADSTRING);
LoadString(hInstance IDC_MOUSETEST szWindowClass MAX_LOADSTRING);
MyRegisterClass(hInstance);

// 执行应用程序初始化: 
if (!InitInstance (hInstance nCmdShow))
{
return FALSE;
}

hAccelTable = LoadAccelerators(hInstance MAKEINTRESOURCE(IDC_MOUSETEST));

// 主消息循环: 
while (GetMessage(&msg NULL 0 0))
{
if (!TranslateAccelerator(msg.hwnd hAccelTable &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

return (int) msg.wParam;
}



//
//  函数:  MyRegisterClass()
//
//  目的:  注册窗口类。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance MAKEINTRESOURCE(IDI_MOUSETEST));
wcex.hCursor = LoadCursor(NULL IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = MAKEINTRESOURCE(IDC_MOUSETEST);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance MAKEINTRESOURCE(IDI_SMALL));

return RegisterClassEx(&wcex);
}

//
//   函数:  InitInstance(HINSTANCE int)
//
//   目的:  保存实例句柄并创建主窗口
//
//   注释: 
//
//        在此函数中,我们在全局变量中保存实例句柄并
//        创建和显示主程序窗口。
//
BOOL InitInstance(HINSTANCE hInstance int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // 将实例句柄存储在全局变量中

   hWnd = CreateWindow(szWindowClass sztitle WS_OVERLAPPEDWINDOW
      CW_USEDEFAULT 0 CW_USEDEFAULT 0 NULL NULL hInstance NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}

//
//  函数:  WndProc(HWND UINT WPARAM LPARAM)
//
//  目的:    处理主窗口的消息。
//
//  WM_COMMAND - 处理应用程序菜单
//  WM_PAINT - 绘制主窗口
//  WM_DESTROY - 发送退出消息并返回
//
//
LRESULT CALLBACK WndProc(HWND hWnd UINT 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      43520  2017-04-11 21:49  MouseTestDebugMouseTest.exe

     文件     300284  2017-04-11 21:49  MouseTestDebugMouseTest.ilk

     文件    1068032  2017-04-11 21:49  MouseTestDebugMouseTest.pdb

     文件   20512768  2017-04-11 21:45  MouseTestipchmousetest-cfd568mousetest-be12df5.ipch

     文件       1407  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.log

     文件      14797  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.obj

     文件    5832704  2017-04-11 14:01  MouseTestMouseTestDebugMouseTest.pch

     文件       6800  2017-04-11 14:01  MouseTestMouseTestDebugMouseTest.res

     文件       1374  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.tlogcl.command.1.tlog

     文件      11884  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.tlogCL.read.1.tlog

     文件        946  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.tlogCL.write.1.tlog

     文件       1378  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.tloglink.command.1.tlog

     文件       2650  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.tloglink.read.1.tlog

     文件        606  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.tloglink.write.1.tlog

     文件        166  2017-04-11 21:49  MouseTestMouseTestDebugMouseTest.tlogMouseTest.lastbuildstate

     文件        494  2017-04-11 14:01  MouseTestMouseTestDebugMouseTest.tlog
c.command.1.tlog

     文件       2416  2017-04-11 14:01  MouseTestMouseTestDebugMouseTest.tlog
c.read.1.tlog

     文件        214  2017-04-11 14:01  MouseTestMouseTestDebugMouseTest.tlog
c.write.1.tlog

     文件     147545  2017-04-11 14:01  MouseTestMouseTestDebugstdafx.obj

     文件     412672  2017-04-11 21:49  MouseTestMouseTestDebugvc120.idb

     文件     503808  2017-04-11 21:49  MouseTestMouseTestDebugvc120.pdb

     文件       6140  2017-04-11 21:49  MouseTestMouseTestMouseTest.cpp

     文件         39  2017-04-11 13:54  MouseTestMouseTestMouseTest.h

    .......      2998  2013-07-22 01:18  MouseTestMouseTestMouseTest.ico

     文件       6562  2017-04-11 13:54  MouseTestMouseTestMouseTest.rc

     文件       4792  2017-04-11 13:54  MouseTestMouseTestMouseTest.vcxproj

     文件       1838  2017-04-11 13:54  MouseTestMouseTestMouseTest.vcxproj.filters

     文件       2277  2017-04-11 13:54  MouseTestMouseTestReadMe.txt

     文件        728  2017-04-11 13:54  MouseTestMouseTestResource.h

    .......      2998  2013-07-22 01:18  MouseTestMouseTestsmall.ico

............此处省略16个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)