夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks

          1. HDC
              HDC是指窗體,控件的句柄,是長整類型.
              這是windows編程里很重要的一個類型,它唯一標識了一個對象.比如窗口,按鈕,視圖等,也就是一個代號.
              另外它和C++沒有什么直接的關系,HDC是windows系統API中定義的一個數據類型.
              注意,GetDC()得到的句柄必須用ReleaseDC()函數釋放!而用Create建立的句柄必須用DeleteDC()釋放.

          2. BOOL  MoveToEx(HDC hdc, int x,int y,LPPOINT lppt).
              hdc是當前設備的句柄.
              xX軸的位置,水平方向,一般原點是在屏幕左上角的位置.
              yY軸的位置,垂直方向.
              lppt是移動前的坐標位置.

          3.BOOL WINAPI LineTo(HDC hdc, int x, int y);
              hdc是當前設備的句柄.
             xX軸的位置,水平方向,一般原點是在屏幕左上角的位置.
             yY軸的位置,垂直方向.

          // 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);
          }
          posted on 2009-08-19 18:48 HUIKK 閱讀(315) 評論(0)  編輯  收藏 所屬分類: C/C++
          主站蜘蛛池模板: 金川县| 兴隆县| 盱眙县| 富民县| 定远县| 新和县| 大关县| 峨边| 扶余县| 勃利县| 綦江县| 武宣县| 宝兴县| 都江堰市| 昌吉市| 甘洛县| 柳州市| 鲁山县| 丹阳市| 阿尔山市| 邯郸市| 轮台县| 蕉岭县| 公安县| 扬中市| 格尔木市| 安图县| 金沙县| 巴林右旗| 荔浦县| 柏乡县| 东平县| 遵义市| 新源县| 扬州市| 鹿邑县| 同德县| 方山县| 远安县| 田林县| 龙里县|