⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 04.2.1 利用sdk全局函数实现画线功能.txt

📁 网上第一本以TXT格式的VC++深入详解孙鑫的书.全文全以TXT格式,并每一章节都分了目录,清晰易读
💻 TXT
字号:
4.2.1 利用 SDK全局函数实现画线功能
例4-9是利用PlatfortnSDK函数实现画线功能的代码。例4-9 
void CDrawView: : OnLButtonUp(UINT nFlags , CPoint point) 
{ 

11首先获得窗口的设备描述表 
HDC hdc ; 
hdc = : : GetDC (m_hWnd) ; 

11移动到线条的起点 
MoveToEx(hdc , m-ptOrigin .x, m-ptOrigin.y , NULL} ; 
11画线 
LineTo(hdc , point . x , point .y}; 
11释放设备描述表 
: : ReleaseDC (m_hWnd, hdc) ; 
CView: :OnLButtonUp(nFlags , pointl; 
在第 1章中,我们己介绍过,为了进行绘图操作,必须藐得一个设备描述表 CDC)。因此,例4-9所示代码首先定义一个HDC类型的变量: hdc,接着调用全局函数GetDC获得当前窗口的设备描述表。在第3章中己经讲述过, CWnd类有一个成员变量Cm_hWnd)' 用于保存窗口句柄,而CDrawView类派生于CWnd类,因此该类也有这样的一个成员变量,这里的GetDC函数可以直接把这个成员变量作为参数来使用。
接下来进行画线操作,首先调用MoveToEx函数将当前位置移动到需绘制的线条的起点处。该函数有四个参数,其中第一个参数是设备描述表的句柄:第二个和第三个参数分别是新位置处的X坐标和 Y坐标:第四个参数是指向 POINT结构体的指针,用于保存移动操作前鼠标的位置坐标,在本例中不需要这个坐标值,将此参数设置为NULL。
接着调用LineTo函数绘制一条到指定点的线。该函数有三个参数,其中第一个参数是设备描述表的句柄,第二个和第三个参数分别是线条终点的X坐标和Y坐标。在前面已经讲述过,在绘图操作结束后,一定要释放设备描述表资源。因此,代码的最后调用ReleaseDC函数来完成这一功能。 Build并运行 Draw程序,拖动鼠标就可以在窗口中绘制线条了。程序运行结果如图 
图 4.11在程序视类窗口中画线 

" ‘ I 115 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -