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

正文內(nèi)容

可視化程序設(shè)計(jì)(1)(參考版)

2025-01-10 04:31本頁面
  

【正文】 虛擬碼 ? 鍵盤上每一個(gè)鍵都對應(yīng)著一個(gè)唯一值 ,這個(gè)值稱之為掃描碼 .掃描碼是設(shè)備相關(guān)的 ,用戶按下 (或釋放 )鍵時(shí)由鍵盤硬件產(chǎn)生 ,用來標(biāo)識不同的鍵 . ? 為了實(shí)現(xiàn)應(yīng)用程序與設(shè)備的無關(guān)性 ,應(yīng)用程序往往使用的是與設(shè)備無關(guān)的虛擬碼 (VirtualKey Codes).虛擬碼是由系統(tǒng)定義的并與設(shè)備無關(guān)的鍵標(biāo)識 (表 61). ? 掃描碼、虛擬碼之間存在著一種映射關(guān)系 ,鍵盤驅(qū)動程序負(fù)責(zé)解釋掃描碼并把它轉(zhuǎn)換成相應(yīng)的虛擬碼 . 掃描碼 虛擬碼 某個(gè)鍵 驅(qū)動程序 鍵盤輸入模型 掃描碼、虛擬碼 和其他按鍵信息 ? 鍵盤設(shè)備被所有的應(yīng)用 、 所有的窗口共享 .因此 ,需要解決按鍵消息 (按下或釋放鍵時(shí)產(chǎn)生 )投往哪個(gè)線程消息隊(duì)列的問題 . ? 每個(gè)窗口都有一個(gè)標(biāo)明它是否被鍵盤聚焦的屬性 ,按鍵消息將投遞到獲得了鍵盤。 break。 EndPaint(hWnd, amp。 xLnCount。PtStr)。 break。 nYChar = + 。tm)。 switch(message) { case WM_CREATE: hDC = GetDC(hWnd)。 PAINTSTRUCT PtStr。 TEXTMETRIC tm。 HDC hDC。 break。 //輸出第三個(gè)字符串 EndPaint(hwnd, amp。 x = x + + 。 //輸出第二個(gè)字符串 //計(jì)算第二個(gè)串的寬度與高度 GetTextExtentPoint32(hdc, str2, strlen(str2), amp。 //獲取當(dāng)前字體信息 y = y + + 。 //輸出第一個(gè)字符串 GetTextMetrics(hdc, amp。ps)。 //存放字體信息 SIZE size。 int x = 0, y = 0。 char* str2 = 第二個(gè)字符串 。 PAINTSTRUCT ps。 文本輸出 ? 在指定位置輸出字符串 BOOL TextOut( HDC hdc, int nXStart, //起始 x坐標(biāo) int nYStart, //起始 y坐標(biāo) LPCTSTR lpString, //字符指針 ,指向待輸出的字符串 int cbString //指定輸出字符數(shù) //輸出整個(gè)串 : lstrlen(lpString) )。 LONG cy。 格式化文本 ? 格式化文本包括對齊方式、字符間距、行距、字體顏色、背景顏色等 . ? 進(jìn)行文本輸出時(shí) ,程序員還需考慮待輸出字符串的起始位置 .而起始位置的計(jì)算可能與當(dāng)前正在使用的字體信息以及與前次輸出的字符串寬度、高度有關(guān) . ? 計(jì)算字符串的寬度和高度 BOOL GetTextExtentPoint32( HDC hdc, LPCTSTR lpString, //字符指針 ,指向字符串 int cbString, //選定的字符數(shù) LPSIZE lpSize //SIZE類型指針 ,計(jì)算的字符串寬度 //和高度存放在一個(gè) SIZE結(jié)構(gòu)中 )。 BYTE tmCharSet。 BYTE tmStruckOut。 BYTE tmItalic。 BCHAR tmDefaultChar。 BCHAR tmFirstChar。 LONG tmDigitizedAspectX。 LONG tmWeight。 //行距 LONG tmAveCharWidth。 LONG tmInternalLeading。 //字符高度 LONG tmAscent。 ? 獲取字體信息 BOOL GetTextMetrics( HDC hdc, //DC句柄 LPTEXTMETRIC lptm //TEXTMETRIC類型指針 )。 ? 設(shè)置背景顏色 COLORREF SetBkColor( HDC hdc, COLORREF crColor //背景顏色 )。 ? 系統(tǒng)提供的 DC具有默認(rèn)的 SYSTEM_FONT,只有更改為其他字體或用戶自定義的字體后 ,才應(yīng)該將這種字體選入 DC. ? 文本輸出完成后 ,應(yīng)該刪除字體 . DeleteObject(hF)。 將字體選入設(shè)備環(huán)境 HDC hdc。 字體 說明 ANSI_FIXED_FONT ANSI等寬字體 ANSI_VAR_FONT ANSI變寬字體 DEVICE_DEFAULT_FONT 與設(shè)備相關(guān)的字體 DEFAULT_GUI_FONT 默認(rèn) GUI字體 OEM_FIXED_FONT OEM(原始設(shè)備制造商 )提供的等寬字體 SYSTEM_FONT 系統(tǒng)字體 ,DC的默認(rèn)值 SYSTEM_FIXED_FONT 系統(tǒng)等寬字體 ? 除了系統(tǒng)提供的字體外 ,用戶還能創(chuàng)建自定義字體 . hF = CreateFont(...)。 …… 第 5章 文本的輸出方法與字體的設(shè)置 設(shè)置文本的設(shè)備環(huán)境 文本的輸出過程 文本操作實(shí)例 小結(jié) 文本輸出 ? 文本與圖形沒有明顯的界限 ,某種意義上任何內(nèi)容都可看成是圖形實(shí)體 .因此 ,可以使用 GDI進(jìn)行文本輸出 . ? 文本輸出的關(guān)鍵問題 1. 字體的選擇 (系統(tǒng)提供的字體或用戶自定義的字體 ) 2. 格式化文本 3. 將文本在窗口客戶區(qū)畫出來 字體 ? 字體 : 字符、符號構(gòu)成的集合 . ? 字體是一種圖形對象 . ? 同一種字體具有相同的設(shè)計(jì)風(fēng)格 . ? 不同的字體在大小、形態(tài)上有所不同 . 字體 字體 36號黑體 36號楷體 獲取字體 ? 定義字體句柄 HFONT hF。ps)。 y2 = y2 step。 x2 = x2 step。 y2 = y2 + step。amp。 x2 = x2 + step。amp。 Rectangle(hdc, x1, y1, x2, y2)。 case WM_PAINT: hdc = BeginPaint(hWnd, amp。 case WM_TIMER: InvalidateRect(hWnd, NULL, true)。 case WM_RBUTTONDOWN: KillTimer(hWnd,TimerID)。 case WM_LBUTTONDOWN: TimerID = SetTimer(hWnd, 1, 5, NULL)。 step = ()/200。 x2 = 40。 x1 = 0。 switch(message) { case WM_CREATE: GetClientRect(hWnd, amp。 static RECT rc。 HDC hdc。 函數(shù)調(diào)用成功 ,返回定時(shí)器標(biāo)識 ,否則返回 0. ? 釋放定時(shí)器 BOOL KillTimer( HWND hWnd, //與定時(shí)器相關(guān)聯(lián)的窗口句柄 UINT uIDEvent //定時(shí)器標(biāo)識 ,指明釋放哪個(gè)定時(shí)器 )。 ...... break。ps)。 break。 case WM_RBUTTONDOWN: nMode=MM_ANISOTROPIC。 InvalidateRect(hwnd, NULL, 1)。 HBRUSH hB1, hB2。 //全局變量存放映射模式 LRESULT CALLBACK WndProc(...) { HDC hdc。鼠標(biāo)右擊為 MM_ANSIOTROPIC,同時(shí)刷新用戶區(qū) . ? 指定刷新區(qū)域 BOOL InvalidateRect( HWND hWnd, //窗口句柄 CONST RECT *lpRect, //RECT結(jié)構(gòu)指針 ,指定哪塊區(qū)域 //要被刷新 ,NULL為整個(gè)客戶區(qū) BOOL bErase //TRUE表示刷新時(shí)擦除背景 )。 多邊形 (被填充 ) BOOL Polygon( HDC hdc, CONST POINT *lpPoints, //指向頂點(diǎn)數(shù)組 int nCount //頂點(diǎn)數(shù) , =2 )。 ? BOOL RoundRect( HDC hdc, int x1, int y1, //左上角坐標(biāo) int x2, int y2, //右下角坐標(biāo) int nWidth, //圓角寬度 int nHeight //圓角高度 )。 (x1,y1) (x2,y2) (x3,y3) (x4,y4) 餅圖 (橢圓扇面 ,被填充 ) BOOL Pie( HDC hdc, //DC句柄 int x1, int y1, //左上角坐標(biāo) int x2, int y2, //右下角坐標(biāo) int x3, int y3, //用于確定弧的起始點(diǎn) int x4, int y4 //用于確定弧的終止點(diǎn) )。 default: return (DefWindowProc(hWnd, iMessage, wParam, lParam))。 case WM_DESTROY: PostQuitMessage(0)。ps)。 Polyline(hdc, aptStar, 6)。 switch(iMessage) { case WM_PAINT: hdc = BeginPaint(hWnd, amp。 HDC hdc。 ? 依次連接 POINT數(shù)組中的各點(diǎn) (畫一組直線 ) BOOL Polyline( HDC hdc, //DC句柄 CONST POINT *lppt, //POINT指針 ,指向 POINT數(shù)組 //每個(gè)數(shù)組元素表示一個(gè)點(diǎn) int cPoints //數(shù)組中的點(diǎn)數(shù) (=2) )。 返回一種用 32位表示的顏色 . 0 0~255 0~255 0~255 32位 第 4章 Windows 的圖形設(shè)備接口及 Windows 繪圖 圖形設(shè)備接口 繪圖工具與顏色 常用繪圖函數(shù) 應(yīng)用實(shí)例 小結(jié) 設(shè)置畫筆當(dāng)前位置 BOOL MoveToEx( HDC hdc, //DC句柄 int X, //新位置 x坐標(biāo) int Y, //新位置 y坐標(biāo) LPPOINT lpPoint //Point類型指針 ,用于保存前一次的位置 )。 HBRUSH CreateHatchBrush( int fnStyle, //陰影樣式 (表 47) COLORREF clrref //畫刷顏色 )。 //單色畫刷 hBr = CreateHatchBrush(...)。 ? 創(chuàng)建自定義畫刷 HBRUSH hBr。 畫刷 ? 獲取系統(tǒng)提供的畫刷 HBRUSH hBr。 ? 刪除畫筆 BOOL DeleteObject( HGDIOBJ hObject //圖形對象句柄 )。 hP = CreatePen(...)。 //畫筆句柄 hP = (HPEN)GetStockObject(BLACK_PEN)。 } POINT。 typedef struct tagPOINT { LONG x。 設(shè)置窗口、視口原點(diǎn) ? 設(shè)置窗口原點(diǎn) BOOL SetWindowOrgEx( HDC hdc, int X, //新原點(diǎn) x坐標(biāo) int Y, //新原點(diǎn) y坐標(biāo) LPPOINT lpPoint //Point類型 指針 ,保存原原點(diǎn)坐標(biāo) )。 LONG cy。 ? 設(shè)置視口區(qū)域 BOOL SetViewportExtEx( HDC hdc, int nXExtent, int nYExtent, LPSIZE lpSize )。否則返回 0. ? 獲取當(dāng)前的映射模式 int GetMapMode( HDC hdc //DC句柄 )。 縮放 平移 旋轉(zhuǎn) 切變 反射 映射模式 (Mapping mode) ? 程序員繪圖是在一個(gè)統(tǒng)一的邏輯坐標(biāo)系中進(jìn)行的 ,而實(shí)際圖形輸出依賴于設(shè)備坐標(biāo)系 ,兩者間存在坐標(biāo)系的轉(zhuǎn)換問題 . ? 映射模式定義了基于邏輯坐標(biāo)系的圖形與實(shí)際輸出效果之間的關(guān)系 . 映射模式 (續(xù) ) ? 窗口 : 對應(yīng)邏輯坐標(biāo)系上程序員設(shè)定的區(qū)域 . ? 視口 : 對應(yīng)實(shí)際輸出設(shè)備上程序員設(shè)定的區(qū)域 . ? 窗口、視口可以調(diào)用相關(guān)函數(shù)進(jìn)行設(shè)置 . ? 窗口、視口只有在 MM_ANISOTROPIC(各向異性 )映射模式和 MM_ISOTROPIC(各向同性 )映射模式下才有意義 . MM_ANISOTROPIC 不改變視口尺寸 ,導(dǎo)致窗口中畫的圖形在視口中發(fā)生了變化 MM_ISOTROPIC 強(qiáng)制改變視口尺寸 ,從而窗口
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1