1. HDC
HDC是指窗体,控件的句柄,是长整类型.
这是windows编程里很重要的一个类型,它唯一标识了一个对象.比如窗口,按钮,视图等,也就是一个代号.
另外它和C++没有什么直接的关系,HDC是windows系统API中定义的一个数据类型.
注意,GetDC()得到的句柄必须用ReleaseDC()函数释放!而用Create建立的句柄必须用DeleteDC()释放.
2. BOOL MoveToEx(HDC hdc, int x,int y,LPPOINT lppt).
hdc是当前设备的句柄.
x是X轴的位置,水平方向,一般原点是在屏幕左上角的位置.
y是Y轴的位置,垂直方向.
lppt是移动前的坐标位置.
3.BOOL WINAPI LineTo(HDC hdc, int x, int y);
hdc是当前设备的句柄.
x是X轴的位置,水平方向,一般原点是在屏幕左上角的位置.
y是Y轴的位置,垂直方向.
// CDrawView 消息处理程序
void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_ptOrigin=point;
CView::OnLButtonDown(nFlags, point);
}
void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
/**//*********************************************
HDC hdc;
hdc=::GetDC(m_hWnd);
MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);
CView::OnLButtonUp(nFlags, point);
**********************************************/
/**//*********************************************
CDC *pDC=GetDC();
pDC->MoveTo(m_ptOrigin);
pDC->LineTo(point);
ReleaseDC(pDC);
CView::OnLButtonUp(nFlags, point);
**********************************************/
/**//*********************************************
CClientDC dc(this);
//CClientDC dc(GetParent());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
CView::OnLButtonUp(nFlags, point);
**********************************************/
/**//*********************************************
CWindowDC dc(GetDesktopWindow());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
CView::OnLButtonUp(nFlags, point);
**********************************************/
/**//*********************************************
CPen pen(PS_DOT,1,RGB(20,255,0));
CClientDC dc(this);
//把画笔选入设备描述表
CPen *pOldPen=dc.SelectObject(&pen);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
dc.SelectObject(pOldPen);
CView::OnLButtonUp(nFlags, point);
**********************************************/
/**//*********************************************
CBitmap bitmap;
bitmap.LoadMappedBitmap(IDR_AA1);
CBrush brush(&bitmap);
CClientDC dc(this);
dc.FillRect(CRect(m_ptOrigin,point),&brush);
CView::OnLButtonUp(nFlags, point);
**********************************************/
CClientDC dc(this);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
CBrush *pOldBrush=dc.SelectObject(pBrush);
dc.Rectangle(CRect(m_ptOrigin,point));
dc.SelectObject(pOldBrush);
CView::OnLButtonUp(nFlags, point);
}
分享到:
相关推荐
本项目名为"MFC功能界面上实现的一个画线程序",其核心目标是利用MFC库来创建一个用户界面,用户可以通过该界面进行绘图操作,包括画直线、曲线、矩形和圆形。 在C++编程中,实现这样的功能需要对MFC类库有深入的...
总结来说,"java画线程序"这个主题涵盖了Java图形编程的基础知识,包括使用`Graphics`类及其方法来绘制直线、矩形和圆。通过`huaxian`和`huaxian2`这两个源代码文件,我们可以学习到不同的实现方式和技巧,进一步...
《VC++6.0 实现的画线程序源代码解析》 在计算机编程领域,图形用户界面(GUI)的应用越来越广泛,其中画线功能作为基本的交互方式之一,被广泛应用于各种应用程序中。本篇文章将深入探讨使用VC++6.0实现的画线程序...
标题中的“模板画线程序”指的是在编程领域中,一种使用特定模板或算法来实现图形界面中的线条绘制技术。在GUI(图形用户界面)开发中,画线是基本且重要的功能,尤其在数据可视化、绘图软件或者游戏开发中。这种...
在VC++环境中开发一个画线程序,涉及到的主要知识点包括Windows编程基础、GDI(Graphics Device Interface)图形绘制、鼠标事件处理以及对象选择和释放。以下将详细解释这些内容。 1. **基本画线操作** - 首先,你...
【标题】:“一个简单的可以运行的画线程序” 在计算机编程中,画线程序是一种基本的图形用户界面(GUI)应用程序,它允许用户在屏幕上绘制线条。这个“一个简单的可以运行的画线程序”旨在帮助初学者理解如何实现...
"VC鼠标画线程序实例"就是一个很好的示例,它通过捕捉鼠标的按下、移动和弹起事件来实现在屏幕上画线的功能。下面我们将深入探讨这个话题,了解其背后的原理和实现步骤。 首先,我们需要理解鼠标事件在Windows编程...
这个“WindowsAPI画线程序”利用Windows API实现了在会话框上进行图形绘制的功能,允许用户动态地改变窗口大小并观察图形的变化。下面我们将详细探讨相关的Windows API知识点。 1. **Windows消息机制**:Windows ...
这个"VC++画图画线程序"是专为初学者设计的,旨在帮助他们理解和掌握图形用户界面(GUI)编程的基本原理。下面我们将深入探讨这个程序涉及到的关键知识点。 1. **MFC框架**: - MFC(Microsoft Foundation Classes...
在这个“MFC画线程序”中,我们关注的核心知识点是使用橡皮筋画线算法来实现用户交互式的直线和曲线绘制,并且这些图形还能被保存和读取。 橡皮筋画线算法是一种常见的图形用户界面(GUI)中的绘图技术,它允许用户...
这篇实验是关于如何在计算机上实现点画线程序,同时结合鼠标操作进行交互。 首先,我们要理解点画线法的基本原理。它基于一种迭代的方法,通过比较两个坐标轴上的增量来决定在当前像素位置应该选择哪个像素。在二维...
在这个画线程序中,MFC被用来创建用户界面和处理用户输入,使得程序员可以更专注于逻辑实现,而不是底层的窗口管理。 **画线功能**在图形用户界面中是一项基本但重要的功能。它允许用户或程序在屏幕上绘制线条,这...
标题中的“lcd.rar_128*64_LCD画线程序”表明这是一个关于128x64像素分辨率LCD显示屏的编程资源包,主要关注在LCD上进行画线操作的程序。这种LCD通常用于嵌入式系统或者小型电子设备中,提供可视化界面。 描述中...
**MFC画线程序详解** MFC(Microsoft Foundation Classes)是微软提供的一种C++库,用于简化Windows应用程序的开发。这个程序是基于MFC构建的,允许用户在界面上自由画线,并能调整线条的宽度、颜色和形状,极大地...
标题中的“用C++做的画线程序”表明我们即将探讨的是一个使用C++编程语言创建的图形用户界面(GUI)应用程序,它具有画线的功能。C++是一种强大的、通用的编程语言,通常用于开发高性能的应用程序,包括图形和游戏...
"MakeLine画曲线程序"是一个专门用于绘制曲线的软件工具,尤其适合展现实时变化的数据,如速度曲线。这个程序的核心功能在于它能够根据输入的实时速度数据生成波动曲线,这在许多领域,如数据分析、工程监测或者游戏...
双目相机画线程序是一种基于计算机视觉技术的应用,主要用于实现对图像的实时处理与分析。在本项目中,系统能够同时接收来自两台相机的图像输入,这通常是为了获取立体视觉信息,即3D数据。双相机配置可以提供深度...
通过使用QPainter,我们可以实现画线、画圆、填充图形以及画曲线等多种功能。在QT中画曲线,我们通常会结合QPainterPath对象,它可以创建和管理复杂的路径,包括直线、曲线和其他形状。 要创建一个简单的曲线绘图...