一,开发环境
IDE:dev-c++
语言:C++
二,说明
单击鼠标左键选择直线起始点,然后移动鼠标,再单击选择直线终点,然后双击鼠标左键,即绘制直线。
源代码:
#include <windows.h>
//定义鼠标左键点击次数
int leftCount=0;
//定义点结构体
struct point{
int x;
int y;
};
point ptStart,ptEnd;
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";
//定义WinMain函数,WinMain:入口函数
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);
/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0;
使用DDA算法在C++中实现图形界面直线绘制

本文介绍了如何在图形界面环境下利用DDA算法绘制直线。通过在dev-c++环境下,利用C++语言开发一个应用,用户可以通过鼠标选择直线的起点和终点进行绘制。详细讨论了鼠标消息的分类,包括命中消息、客户区鼠标消息和非客户区消息,并解释了坐标系统的转换方法。
最低0.47元/天 解锁文章
1328

被折叠的 条评论
为什么被折叠?



