zoukankan      html  css  js  c++  java
  • VC画线几个常见方法

    转自http://www.cnblogs.com/tuncaysanli/archive/2009/11/14/1603093.html

    首先,在VIEW类中增加一个私有的成员变量m_ptOrigin,再增加两个windows的消息响应,一个是WM_LBUTTONDOWN,一个是WM_LBUTTONUP.

    1:利用HDC去画线;

    2:利用CDC画线;

    3:利用CClientDC画线;

    4:利用CWindowDC画线;

    5:利用Cpen画线;

    代码如下(仅包含了WM_LBUTTONDOWN和WM_LBUTTONUP中的代码):

     1:  void CBlogView::OnLButtonDown(UINT nFlags, CPoint point) 
     2:  {
     3:  // TODO: Add your message handler code here and/or call default
     4:  m_ptOrigin=point;
     5:  CView::OnLButtonDown(nFlags, point);
     6:  }
     7:   
     8:  void CBlogView::OnLButtonUp(UINT nFlags, CPoint point) 
     9:  {
    10:  // TODO: Add your message handler code here and/or call default
    11:  /* HDC hdc;
    12:  hdc=::GetDC(m_hWnd);
    13:  MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
    14:  LineTo(hdc,point.x,point.y);
    15:  ::ReleaseDC(m_hWnd,hdc);//利?用?SDK的?HDC画?线?
    16:  */
    17:  /* CDC *pDC=GetDC();
    18:  pDC->MoveTo(m_ptOrigin);
    19:  pDC->LineTo(point);
    20:  ReleaseDC(pDC);//利?用?CDC画?线?
    21:  */
    22:  /* CClientDC dc(this);
    23:  dc.MoveTo(m_ptOrigin);
    24:  dc.LineTo(point);//利?用?CClientDC画?线?
    25:  */
    26:  /* CWindowDC dc(GetDesktopWindow());
    27:  dc.MoveTo(m_ptOrigin);
    28:  dc.LineTo(point);//利?用?CWindowDC画?线?。?
    29:  */
    30:  /* CPen pen(PS_SOLID,1,RGB(123,123,123));
    31:  CClientDC dc(this);
    32:  CPen *pOldPen=dc.SelectObject(&pen);
    33:  dc.MoveTo(m_ptOrigin);
    34:  dc.LineTo(point);
    35:  dc.SelectObject(pOldPen);//用?Cpen去?画?线?
    36:  */
    37:  CView::OnLButtonUp(nFlags, point);
    38:  }
  • 相关阅读:
    [LeetCode] 143. 重排链表
    [LeetCode] 342. 4的幂
    [LeetCode] 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
    [LeetCode] 148. 排序链表
    [LeetCode] 525. 连续数组
    [LeetCode] 160. 相交链表
    [LeetCode] 134. 加油站
    [LeetCode] 474. 一和零
    CentOS 升级 OpenSSH
    AWS 证书取消挂靠
  • 原文地址:https://www.cnblogs.com/sunliming/p/1893130.html
Copyright © 2011-2022 走看看