1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          【C++】DrawText函數應用

          來源:互聯網轉載 時間:2023-09-13 05:24:48

          【C++】DrawText

          • 函數說明
          • 函數原型
            • 參數
            • 代碼示例
          • 返回值

          函數說明

          該函數在指定的矩形里寫入格式化文本,根據指定的方法對文本格式化(擴展的制表符,字符對齊、折行等)。

          函數原型

          intDrawText(HDC hdc, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat);

          參數

          hdc:設備環境句柄。
          lpString:指向將被寫入的字符串的指針,如果參數nCount是-1,則字符串必須是以\0結束的。如果uFormat包含DT_MODIFYSTRING,則函數可為此字符串增加4個字符,存放字符串的緩沖區必須足夠大,能容納附加的字符。
          nCount:指向字符串中的字符數。如果nCount為-1,則lpString指向的字符串被認為是以\0結束的,DrawText會自動計算字符數。
          lpRect:指向結構RECT的指針,其中包含正文將被置于其中的矩形的信息(按邏輯坐標)。
          uFormat:指定格式化正文的方法。它可以下列值的任意組合,各值描述如下:

          參數描述
          DT_BOTTOM將正文調整到矩形底部。此值必須和DT_SINGLELINE組合。
          DT_CALCRECT決定矩形的寬和高。
          如果正文有多行,DrawText使用lpRect定義的矩形的寬度,并擴展矩形的底訓以容納正文的最后一行。
          如果正文只有一行,則DrawText改變矩形的右邊界,以容納下正文行的最后一個字符。
          上述任何一種情況,DrawText返回格式化正文的高度而不是寫正文。
          DT_CENTER使正文在矩形中水平居中。
          DT_VCENTER使正文在矩形中垂直居中。
          (DreamSmart注:此參數必須和DT_SINGLE連用,否則GDI無法計算目的矩形)
          DT_EDITCONTROL復制多行編輯控制的正文顯示特性。
          特殊地,為編輯控制的平均字符寬度是以同樣的方法計算的,此函數不顯示只是部分可見的最后一行。
          DT_END_ELLIPSIS或DT_PATH_ELLIPSIS可以指定DT_END_ELLIPSIS來替換在字符串末尾的字符,或指定DT_PATH_ELLIPSIS來替換字符串中間的字符。
          如果字符串里含有反斜扛(\),DT_PATH_ELLIPSIS盡可能地保留最后一個反斜杠之后的正文。
          字符串不會被修改,除非指定了DT_MODIFYSTRING標志。
          DT_EXPANDTABS擴展制表符,每個制表符的缺省字符數是8。
          DT_EXTERNALLEADING在行的高度里包含字體的外部標頭,通常,外部標頭不被包含在正文行的高度里。
          DT_INTERNAL用系統字體來計算正文度量。
          DT_LEFT正文左對齊。
          DT_MODIFYSTRING修改給定的字符串來匹配顯示的正文。
          此標志必須和DT_END_ELLIPSIS或DT_PATH_ELLIPSIS同時使用。
          DT_NOCLIP無裁剪繪制當DT_NOCLIP使用時DrawText的使用會有所加快。
          DT_NOPREFIX關閉前綴字符的處理,通常DrawText解釋助記前綴字符,&為給其后的字符加下劃線,解釋&&為顯示單個&。指定DT_NOPREFIX,這種處理被關閉。
          DT_RIGHT正文右對齊。
          DT_RTLREADING當選擇進設備環境的字體是Hebrew或Arabicf時,為雙向正文安排從右到左的閱讀順序都是從左到右的。
          DT_SINGLELINE顯示正文的同一行,回車和換行符都不能折行。
          DT_TABSTOP設置制表,參數uFormat的15"C8位(低位字中的高位字節)指定每個制表符的字符數,每個制表符的缺省字符數是8。
          注意:DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, DT_NOPREFIX值不能和DT_TABSTOP值一起使用
          DT_TOP正文頂端對齊(僅對單行)。DT_VCENTER:正文水平居中(僅對單行)。
          DT_WORDBREAK斷開字。當一行中的字符將會延伸到由lpRect指定的矩形的邊框時,此行自動地在字之間斷開。一個回車一換行也能使行折斷。
          DT_WORD_ELLIPSIS截短不符合矩形的正文,并增加橢圓。
          DT_PREFIXONLY僅僅在(&)前綴字符的位置下繪制一個下劃線。不繪制字符串中的任何其他字符。
          輸入的字符串: “A&bc&&d”
          正常: “Abc&d”
          DT_PREFIXONLY:" _ "

          代碼示例

          void CViewDlg::OnPaint() {CPaintDC dc(this); // device context for painting//內存DCint x,y;CString str;CDC mDC;if (!mDC.CreateCompatibleDC(&dc)){return;}CDC *pDC = &mDC;x = 10;y = 20;str.Format(_T("這是個測試"));CRect rect(x, y, 60, y + 10);pDC->SetTextColor(RGB(255,0,0));pDC->DrawText(str, &rect, DT_LEFT); //釋放內存mDC.DeleteDC(); }

          返回值

          如果函數調用成功,返回值是正文的高度(邏輯單位)。
          如果指定了DT_VCENTER或DT_BOTTOM,返回值是lpRect->top到繪制的正文的底部的偏移值。   如果函數調用失敗,返回值是0   
          Windows NT:若想獲得更多錯誤信息,請調用GetLastError函數。

          參考鏈接: DrawText.

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          目前,游戲幣怎么獲得?可以通過以下兩種獲得游戲幣:1 .在活動頁面購買角色系統可以獲得游戲幣,購買指定角色系統物品可以獲得相應的游戲幣;2.可以在部分游戲的游戲幣得分場獲得游戲幣獎勵。游戲中游戲幣怎么得?,目前你可以通過以下兩種獲得游戲幣:1.用q幣換游戲幣1可以兌換10,000個游戲幣。除了在此頁面兌換,還可以進入游戲廳(下載安裝地址:)點擊上方游戲幣怎么獲得?用q幣換游戲幣,1可以換一萬個游戲...

          奔馳烏莫尼克多少錢?500W左右的w .軍車,已經失去了市場,基本都是訂購,在私家車市場買不到。烏尼莫克房車2022最新售價?2022最新純進口奔馳品牌Unimoc房車銷售價格1300萬元。如果真的想買,和賣家溝通一下,可能會有折扣價。全新四驅奔馳U4023越野房車的銷量,正成為奔馳細分市場的驕傲,如同樸實的埃森人。凸起的前格柵與另一款奔馳經典越野車的G級頗為相似,橫向的中格柵體現了其最純粹的越...

          一萬日元等于多少?根據銀行外匯牌價數據(2018年10月9日):100日元對匯率中間價為6.1055,即1萬日元等于610.55元。日本100元是多少錢?和日元的匯率是一元,大約是二十日元。我們用這個匯率來算一下100日元可以換多少。100除以20得5,所以換成就是5元。日本100元是多少錢?匯率轉換100日元大約等于5.0466元日元(日語:日語,romaji: en,英語:Yen),其紙幣稱為...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>