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

正文內(nèi)容

第5章文本與字體-文庫吧

2025-08-25 15:57 本頁面


【正文】 entPoint32函數(shù) 完成,并把它存儲于一個 SIZE結(jié)構(gòu) 中。 BooL GetTextExtentPoint32 ( HDC hdc, LPCTSTR lpszString,//指定的字符串 int nLength, //字符串中的字符數(shù) LPSIZE lpSize //返回字符串寬度及高度的 SIZE數(shù)據(jù)結(jié)構(gòu) 的地址 ) SIZE數(shù)據(jù)結(jié)構(gòu) 的定義 typedef struct tagSIZE { LONG cx。 LONG cy。 } SIZE。 例如, X軸起始坐標(biāo)為 cx0,后續(xù)文本起始坐標(biāo) cx1為: cx1=cx0+。 (2)確定換行時文本坐標(biāo) 字符的高度 與 行間隔 均存儲在 tm指向的 TEXTMETRICS結(jié)構(gòu)中,換行時 Y軸上文本的起始坐標(biāo) cy為: cy=+。 通過計算當(dāng)前行文本 字符的高度 與 行間隔 之和,即可得到換行時文本的起始坐標(biāo) 文本輸出 常用的文本輸出函數(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為起點(diǎn), 輸出字節(jié)數(shù)為 nCount、 名為 lpstring中的字符串 【 例 51】 在用戶窗口上輸出幾行字符串,當(dāng)窗口接收到WM_PAINT消息后,顯示的文本每次都被重新刷新。 include include include long WINAPI WndProc( HWND hWnd, UINT iMessage, UINT wParam, LONG lParam )。 BOOL InitWindowsClass(HINSTANCE hInstance)。 BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)。 HWND hWndMain。 文本操作實(shí)例 //主函數(shù) int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG Message。 if(!InitWindowsClass(hInstance)) return FALSE。 if(!InitWindows(hInstance,nCmdShow))return FALSE。 while(GetMessage(amp。Message,0,0,0))//消息循環(huán) { TranslateMessage(amp。Message)。 DispatchMessage(amp。Message)。 } return 。 } //消息處理函數(shù) long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam) { static long nXChar,nCaps,nYChar。 HDC hDC。 //定義指向設(shè)備上下文的句柄 short x。 TEXTMETRIC tm。 short LnCount=6。 PAINTSTRUCT PtStr。 //定義指向包含繪圖信息的結(jié)構(gòu)體變量 static char *textbuf[]= { This is the First line, This is the second line, This is the third line, This is the fourth line, This is the fifth line, This is the sixth line }。 輸出的文 本內(nèi)容 switch(iMessage) //處理消息 {case WM_CREATE: //處理窗口創(chuàng)建消息 hDC=GetDC(hWnd) 。 //獲取當(dāng)前設(shè)備表句柄 GetTextMetrics(hDC,amp。tm)。 //獲取字體信息 nXChar=。 //獲取字符寬度 nYChar=+。 nCaps=(amp。1?3:2)*nXChar/2。 ReleaseDC(hWnd,hDC)。 //釋放當(dāng)前設(shè)備句柄 return 0。 case WM_PAINT: //處理重畫消息 hDC=BeginPaint(hWnd,amp。PtStr)。 //開始繪畫 for(x=0。xLnCount。x=x+1) //輸出文本 TextOut(hDC,nXChar,nYChar*(1+x),textbuf[x],lstrlen(textbuf[x]))。 EndPaint(hWnd,amp。PtStr)。 return 0。 case WM_DESTROY: //結(jié)束應(yīng)用程序 PostQuitMessage(0)。 return 0。 default: //其他消息處理程序 return(DefWindowProc(hWnd,iMessage,wParam,lParam)) 。 } } BOOL InitWindowsClass(HINSTANCE hInstance) //初始化窗口類 { WNDCLASS WndClass。 …………。 =CS_HREDRAW|CS_VREDRAW。 return RegisterClass(amp。WndClass)。 } BOOL InitWindows(HINSTANCE hInstance,int nCmdShow) //初始化窗口 { HWND hWnd。 hWnd=CreateWindow(WinText, //生成窗口 文本顯示示例程序 , WS_OVERLAPPEDWINDOW, …….。 NULL)。 if(!hWnd) return FALSE。 hWndMain=hWnd。 ShowWindow(hWnd,nCmdShow)。 //顯示窗口
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1