<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # CPaintDC封裝類 封裝結構的好處是在成對使用的函數不會被漏掉 ```c++ void CMCdcDlg::OnPaint() { CPaintDC dc(this);//內BeginPaint EndPaint CRect rect; GetClientRect(rect); dc.Ellipse(rect); dc.MoveTo(20,20); dc.LineTo(200,200); CDialogEx::OnPaint(); } void CMCdcDlg::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息處理程序代碼和/或調用默認值 CClientDC dc(this);//繪制客戶區 //內GetDC ReleaseDC dc.Rectangle(point.x - 10,point.y-10,point.x+10,point.y+10); CDialogEx::OnLButtonDown(nFlags, point); } void CMCdcDlg::OnNcPaint() { // TODO: 在此處添加消息處理程序代碼 // 不為繪圖消息調用 CDialogEx::OnNcPaint() CWindowDC dc(this);//內 GetWindowDC ReleaseDC CRect rect; GetWindowRect(rect); rect.OffsetRect(-rect.right,-rect.top);//屏幕坐標系轉化為非客戶區坐標系 dc.Rectangle(0,0,rect.Width(),rect.Height()); } //拖動客戶區使用 LRESULT CCPointDlg::OnNcHitTest(CPoint point) { // TODO: 在此添加消息處理程序代碼和/或調用默認值 UINT nHitTest = CDialog::OnNcHitTest(point); CRect rect; GetClientRect(rect); rect.bottom = 30; ScreenToClient(&point); //屏幕坐標系轉化為客戶坐標系 if (rect.PtInRect(point)) { if (HTCLIENT == nHitTest) { nHitTest = HTCAPTION; } } return CDialogEx::OnNcHitTest(point); } ``` CDC派生類封裝的GDI函數及功能說明 a)CPaintDC類,封裝了BeginPaint和EndPaint函數 用于標準客戶區繪圖,窗口刷新時不小時,在WM_PAINT消息下使用 b)CWindowDC類,封裝了GetWindowDC和ReleaseDC函數 用戶非客戶區繪圖,在WM_NCPAINT消息下使用,窗口刷新時不消失 c)CClientDC類,封裝了GetDC和ReleaseDC函數 用于臨時客戶繪圖,窗口刷新時小時,任何時候都可以使用, d)CMenDC類,封裝CreateCompatibleDC和DeleteDC等函數。 VC6.0暫時未封裝該類,網上可以找到。在內存中繪圖,常用于雙緩沖防止畫面閃爍。 四 GDI對象包括六中類型,全部由CGdiObject類派生: a)CPen(畫筆):用于修飾線條的顏色、寬度和線型(實線、虛線或點劃線等) b)CBrush(畫刷):用于修飾一個閉合圖形內部的填充內容(填充顏色、填充線條以及平鋪位圖) c)CFont(字體),用于修飾輸出文字的樣式,高度,粗細以及字間距等; d)CBitmap(位圖):用于顯示和處理點陣圖的GDI對象 e)CRgn(區域)用于修飾輸出圖像的不規則邊界,例如:橢圓或多邊形等。 f)CPalette(調色板):用于修飾輸出圖像的色調。例如:16色或256色; int GetBitmap(BITMAP* pBitMap); 通過BITMAP結構體來獲取位圖屬性信息 static CBitmap* FromHandle(HBITMAP hBitmap); 將HBITMAP句柄轉化為CBitmap對象 opeartor HBITMAP() const; 從CBitmap對象中獲取HBITMAP句柄 五、CRgn(區域):用于修飾輸出圖像的不規則邊界,例如:橢圓或多邊形等; ```c++ BOOL CreateRectRgn(int x1, int y1, int x2, int y2); //創建一個矩形區域 BOOL CreateEllipticRgn(int x1, int y1, int x2, int y2); //創建一個橢圓區域 BOOL CreatePloygonRgn(LPPOINT lpPoints, int nCount, int nNode); //創建一個多邊形 BOOLCreateRoundRectRgn(int x1, int y1, int x2, int y2, int x3,int y3); //創建一個圓角矩形區域; int CopyRgn(CRgn* pRgnSrc); //從已有的區域對象中復制 int ConbineRgn(CRgn* pRgn1, CRgn* pRgn2, int nCombineMode); //將兩個區域合并成一個區域 static CRgn* FromHandle(HRGN hRgn); //HBRUSH 轉化為CBrush對象 opeartor HRGN() const; //從CRgn獲取HRGN句柄 Int GetRegionData(LPRGNDATA lpRgnData, int nCount)const; //獲取區域的屬性信息 ``` 六、擴充函數: CDC::SelectStockObject:選擇系統GDI對象, 內部封裝了GetStockObject和SelectObject函數 ::GetStockObjec;獲取系統GDI對象 GetSysColor;獲取系統標準色
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看