• 大小: 1.1MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-21
  • 语言: 其他
  • 标签:

资源简介

按下鼠标左键,跟随鼠标轨迹画任意曲线,代码少,简单,实用,可以作为其他程序的一个小模块,利于学习

资源截图

代码片段和文件信息

#include
#include
#include

//声明窗口过程函数
LRESULT CALLBACK WndProc(HWND hWndUINT uMsgWPARAM wParam LPARAM lParam);
//函数入口
int WINAPI WinMain(HINSTANCE hInstance
   HINSTANCE hPrevInstance
   LPSTR lpCmdLine
   int iCmdShow )
{
//窗口类结构
WNDCLASS ws;
//填充窗口类结构
ws.style=CS_VREDRAW|CS_HREDRAW;
    ws.lpfnWndProc=WndProc;
ws.cbClsExtra=0;
ws.cbWndExtra=0;
ws.hInstance=hInstance;
ws.hIcon=LoadIcon(hInstanceIDI_APPLICATION);
ws.hCursor=LoadCursor(NULLIDC_ARROW);
ws.hbrBackground=(HBRUSH)GetStockobject(WHITE_BRUSH);
ws.lpszMenuName=NULL;
ws.lpszClassName=“1000“;//窗口类名
//注册窗口类
RegisterClass(&ws);
///////////创建窗口类
HWND hwnd;
hwnd=CreateWindow(“1000“///窗口类名
“10003601班306宿舍“/////窗口标题
 /*WS_OVERLAPPEDWINDOW||WS_VISIBLE8
 200200//窗口位置坐标
 800500//窗口大小*/
 WS_OVERLAPPEDWINDOW
 CW_USEDEFAULT
 CW_USEDEFAULT
 CW_USEDEFAULT
 CW_USEDEFAULT
 NULL//父窗口句柄
 NULL//菜单句柄
 hInstance//程序实例句柄
 NULL);//窗口创建数据指针
//显示窗口
ShowWindow(hwndiCmdShow);
//更新窗口
UpdateWindow(hwnd);
//消息结构
MSG msg;
//进入消息循环
while(GetMessage(&msgNULL00))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//消息函数程序结束
return 0;
}

//窗口处理函数
LRESULT CALLBACK WndProc(HWND hWndUINT uMsgWPARAM wParam LPARAM lParam)
{
//对消息判断
static POINT src;
static bool   MouseDown; 
switch(uMsg)


//消息重画
case WM_PAINT:
//设备环境描述句柄
HDC hdc;
//PAINTSTRUCT结构对象
PAINTSTRUCT ps;
hdc=BeginPaint(hWnd&ps);
//输出文字
TextOut(hdc00“我要想死“strlen(“我要想死“));
//释放资源
EndPaint(hWnd&ps);
break;
//退出消息
case WM_DESTROY:
//退出函数
PostQuitMessage(0);
break;

case   WM_LBUTTONDOWN: 
MouseDown=true; 
src.x = LOWORD(lParam);
src.y = HIWORD(lParam);
//记录鼠标位置A
break; 

case   WM_LBUTTONUP: 
MouseDown=false; 
break; 

case   WM_MOUSEMOVE: 
if(MouseDown) 

//取得鼠标位置B 
hdc=GetDC(hWnd);
//保存B为C 
//用背景色画线LineTo(AC) 
//用前景色画线lineto(AB)
MoveToEx(hdcsrc.xsrc.yNULL);
POINT pcur;
pcur.x = LOWORD(lParam);
pcur.y = HIWORD(lParam);
LineTo(hdcpcur.xpcur.y);
src = pcur;


break; 


case WM_CLOSE://窗口关闭
if(IDYES==MessageBox(hWnd“你真的要结束进程吗??““306宿舍“MB_YESNO))
{
DestroyWindow(hWnd);
}
break;
//调用默认消息处理函数
default:
return DefWindowProc(hWnduMsgwParamlParam);
}
return 0;
}



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

     文件     172102  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug\DrawLine.exe

     文件     196944  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug\DrawLine.ilk

     文件      15413  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug\DrawLine.obj

     文件    3560568  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug\DrawLine.pch

     文件     353280  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug\DrawLine.pdb

     文件     132096  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug\vc60.idb

     文件      77824  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug\vc60.pdb

     文件       2908  2011-10-25 22:33  Win32DrawLine\DrawLine\DrawLine.cpp

     文件       3942  2011-10-25 22:33  Win32DrawLine\DrawLine\DrawLine.dsp

     文件        539  2011-10-25 22:31  Win32DrawLine\DrawLine\DrawLine.dsw

     文件      33792  2011-10-25 22:33  Win32DrawLine\DrawLine\DrawLine.ncb

     文件      48640  2011-10-25 22:33  Win32DrawLine\DrawLine\DrawLine.opt

     文件        720  2011-10-25 22:32  Win32DrawLine\DrawLine\DrawLine.plg

     目录          0  2011-10-25 22:32  Win32DrawLine\DrawLine\Debug

     目录          0  2011-10-25 22:33  Win32DrawLine\DrawLine

     目录          0  2011-10-25 22:31  Win32DrawLine

----------- ---------  ---------- -----  ----

              4598768                    16


评论

共有 条评论

相关资源