freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第5講文本與字體-在線瀏覽

2024-12-01 15:55本頁面
  

【正文】 線以上高度 LONG tmDescent。 //tmHeight制訂的字符高度頂部的控件 LONG tmExternalLeading。 //平均字符寬度 LONG tmMaxCharWidth。 //字符的粗細度 LONG tmOverhang。 //為輸出設(shè)備設(shè)計的 X軸尺寸 LONG tmDigitizedAspectY。 //字體中第一個字符值 BCHAR tmLastChar。 //代替不在字體中字符的字符 BCHAR tmBreakChar。 //非 0則表示字體為斜體 BYTE tmUnderlined。 //非 0則表示字符為刪除字體 BYTE tmPitchAndFamily。 //字符集 }TEXTMETRIC 9 格式化文本 (1) 確定后續(xù)文本坐標(biāo) 換行時確定下一行文本的坐標(biāo) 需要格式化處理的情況 在文本行中確定后續(xù)文本的坐標(biāo) 確定后續(xù)文本的坐標(biāo) ,應(yīng)先獲取當(dāng)前的字符串的寬度 , 該工作由GetTextExtentPoint32函數(shù) 完成,并把它存儲于一個 SIZE結(jié)構(gòu) 中。 LONG cy。 例如, X軸起始坐標(biāo)為 cx0,后續(xù)文本起始坐標(biāo) cx1為: cx1=cx0+。 通過計算當(dāng)前行文本 字符的高度 與 行間隔 之和,即可得到換行時文本的起始坐標(biāo) 11 文本輸出 常用的文本輸出函數(shù) TextOut原型如下: BOOL TextOut ( HDC hdc, int X, int Y, //X, Y為用戶區(qū)中字符串的起始坐標(biāo) LPCTSTR lpstring, //lpstring為顯示的字符串 int nCount //nCount為字符串中的字節(jié)數(shù) ); TextOut 以坐標(biāo) X,Y為起點, 輸出字節(jié)數(shù)為 nCount、 名為 lpstring中的字符串 12 文本操作實例 【 例 51】 在用戶窗口上輸出幾行字符串,當(dāng)窗口接收到WM_PAINT消息后,顯示的文本每次都被重新刷新。 BOOL InitWindowsClass(HINSTANCE hInstance)。 13 //主函數(shù) int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG Message。 if(!InitWindows(hInstance,nCmdShow))return FALSE。Message,0,0,0))//消息循環(huán) { TranslateMessage(amp。 DispatchMessage(amp。 } return 。 HDC hDC。 TEXTMETRIC tm。 PAINTSTRUCT PtStr。 輸出的文 本內(nèi)容 15 switch(iMessage) //處理消息 {case WM_CREATE: //處理窗口創(chuàng)建消息 hDC=GetDC(hWnd) 。tm)。 //獲取字符寬度 nYChar=+。 //釋放當(dāng)前設(shè)備句柄 return 0。PtStr)。xLnCount。 EndPaint(hWnd,amp。 return 0。 return 0。 } } 16 BOOL InitWindowsClass(HINSTANCE hInstance) //初始化窗口類 { WNDCLASS WndClass。 =CS_HREDRAW|CS_VREDRAW。WndClass)。 hWnd=CreateWindow(WinText, //生成窗口 文本顯示示例程序 , WS_OVERLAPPEDWINDOW, …….。 if(!hWnd) return FALSE。 //顯示窗口 UpdateWindow(hWnd)。 } 17 【 例 52】 本程序通過在窗口中分五行分別顯示五行文本,以說明在窗口的用戶區(qū)中輸出文本的方法。 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow) { HWND hwnd。 WNDCLASS wndclass。 char lpszTitle[]= EXAMPLE FOR THE TEXT OUTPUT。 …………。 19 if( !RegisterClass( amp。return FALSE。 ShowWindow( hwnd, nCmdShow)。 while( GetMessage(amp。Msg)。Msg)。 } 20 LRESULT CALLBACK WndProc(HWND hwnd,UINT message, WPARAM wParam,LPARAM lParam) { HDC hdc。 //定義兩種字體句柄 PAINTSTRUCT ps。 //定義一個 TEXTMETRIC結(jié)構(gòu),用以記錄字體信息 char lpsz_1[]=這是一行紅色的、字體為 SYSTEM_FONT的文字,紅色代表未來。 char lpsz_2[]=現(xiàn)在顯示的是自定義字體,顏色為綠色,綠色代表生機勃勃。 char lpsz_3[]=現(xiàn)在展現(xiàn)在您面前的是藍色的粗體字,藍色代表廣闊的海洋和天空。 char lpsz_4[]=當(dāng)前字體為大號、斜體并帶有下劃線的文字。 char lpsz_5[]=現(xiàn)在您掌握了字體的操作了嗎 ?。 int X=0,Y=0。 //定義一個 SIZE類型的結(jié)構(gòu) 21 switch(message){ case WM_PAINT: hdc=BeginPaint(hwnd,amp。 SetTextColor(hdc,RGB(255,0,0))。tm)。//用當(dāng)前字體輸出文本 Y=Y++100*。 //字體名稱 22 SetTextColor(hdc,RGB(0,255,0))。 //將自定義字體選入設(shè)備環(huán)境 GetTextMetrics(hdc,amp。 //獲取字體的信息,寫入 tm結(jié)構(gòu)中 TextOut(hdc,X,Y,lpsz_2,strlen(lpsz_2))。 GetTextExtentPoint32(hdc,lpsz_2,strlen(lpsz_2),amp。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1