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

正文內(nèi)容

visualcmfc編程基礎(chǔ)-文庫吧資料

2024-10-07 19:38本頁面
  

【正文】 – DIB 位圖與顯示設(shè)備無關(guān),用于交換。 恢復(fù)原刷子 ( b )。 調(diào)用圖形輸出函數(shù) ( ) ... ... ... ... 恢復(fù)原繪畫模式 ( r )。brs)。 構(gòu)造 CBrush 對象 CBrush brs(...)。 將畫筆選入設(shè)備描述表 p = (amp。 ? 邏輯坐標(biāo) (20,10) 相當(dāng)于設(shè)備坐標(biāo) (30,60) – CDC 成員多用邏輯坐標(biāo) – CWnd 成員多用設(shè)備坐標(biāo) ? 設(shè)備坐標(biāo)=視口原點(diǎn)+ (邏輯坐標(biāo)-窗口原點(diǎn) )*視口范圍/窗口范圍 X X Y Y (10,70) (20,10) (0,0) 84 圖形輸出 ?GDI 對象 – 畫筆:畫線;屬性:寬度、線形;CPen 類支持 – 刷子:添色;屬性:顏色、位圖;CBrush 類支持 ?繪畫模式 – 畫筆象素與目標(biāo)象素的邏輯運(yùn)算 – SetROP2 / GetROP2 85 圖形輸出函數(shù) ?當(dāng)前輸出位置 – MoveTo / GetCurrentPosition ?圖形輸出函數(shù) – 線輸出: LineTo, PolyLine, Arc – 線輸出并添色: Rectangle, Ellipse, RoundRect, Chord, Pie, Polygon 86 圖形輸出步驟(不用缺省值) 構(gòu)造 CDC 派生類對象 CPaint dc(this)。 (1000,1000)。 – 3 . 按動鼠標(biāo)右鍵時,進(jìn)行清屏。 // 恢復(fù)光標(biāo),并保存原光標(biāo) 76 本章小結(jié) ?OOP 與消息驅(qū)動體系 ?MFC 類庫應(yīng)用框架 ?CWnd 類與消息處理 ?CDC 設(shè)備描述類及其派生類 77 上機(jī)題 3 ?擴(kuò)充第 100頁表 77 的程序 ,實(shí)現(xiàn)以下功能 – 1. 設(shè)置一菜單項(xiàng),點(diǎn)擊該菜單項(xiàng)時,在窗口正中央畫出一個 30*50 的矩形 ?( top, left, bottom, right ) – 2. 當(dāng)鼠標(biāo)左鍵按下時,如果鼠標(biāo)選在矩形內(nèi),則光標(biāo)變?yōu)槭?,矩形隨著鼠標(biāo)移動(以鼠標(biāo)為矩形中心);直到釋放鼠標(biāo),光標(biāo)恢復(fù)到原狀態(tài)。 // AfxGetApp( ) 獲得 CMyApp 指針 ? OnKeyDown( UINT ch, UINT rep, UINT flg ) hCursor = ::SetCursor( hCursor )。 – afx_msg OnKeyUp( ... )。 // 釋放設(shè)備對象 73 ? 用戶區(qū)設(shè)備類 ( 非 WM_PAINT處理 ) – CClientDC 封裝 GetDC 和 ReleaseDC 等 API – 其基類 CDC 提供 GDI 輸出 函數(shù) ? 鼠標(biāo)捕獲與釋放 – 迫使所有鼠標(biāo)消息發(fā)向當(dāng)前窗口 ? 無效區(qū)與 WM_PAINT – Invalidate 指定無效區(qū),等效于 WM_PAINT ? CWnd::Close – 提供關(guān)閉窗口的功能 74 鍵盤輸入處理 ?CWnd 的鍵盤輸入消息響應(yīng)函數(shù) – afx_msg OnKeyDown( UINT ch, UINT rep, UINT flg )。 // 設(shè)輸出位置(設(shè)備屬性) ? OnMouseMove( UINT flg, CPoint pt ) pDragLineTo( , )。 …… – flg 虛擬鍵標(biāo)志; pt 鼠標(biāo)的屏幕坐標(biāo) ? 鼠標(biāo)的消息入口 ON_WM_LBUTTONDOWN( ) ON_WM_MOUSEMOVE( ) …… 72 應(yīng)用例:鼠標(biāo)畫線 ? OnLButtonDown( UINT flg, CPoint pt ) pDrag = new CClientDC( this )。 } // 當(dāng)窗口重新顯示時 , 自動產(chǎn)生此消息 70 窗口輸入消息處理 ? 鼠標(biāo)輸入消息 – 鼠標(biāo)左鍵按下: WM_LBUTTONDOWN – 鼠標(biāo)左鍵釋放: WM_LBUTTONUP – 鼠標(biāo)左鍵雙點(diǎn): WM_LBUTTONDBLCLK – 鼠標(biāo)移動: WM_MOUSEMOVE ? 鍵盤輸入消息 – 鍵按下: WM_KEYDOWN – 鍵釋放: WM_KEYUP – 字符鍵輸入: WM_CHAR 71 鼠標(biāo)消息處理 ? CWnd 的鼠標(biāo)消息響應(yīng)函數(shù) afx_msg void OnLButtonDown( UINT flg, CPoint pt )。 ( rct )。 CRect rct。 // 畫橢圓 CFrameWnd::OnLButtonDown( cfg, pt )。 GetClientRect( rct )。 64 一個消息映射應(yīng)用例 ? 類定義 CTheApp 應(yīng)用程序類 CMainWin 主窗口類 ? 程序代碼 theApp 應(yīng)用程序?qū)ο? CTheApp::InitInstance 實(shí)例初始化函數(shù) CMainWin::OnRButtonDown 左鼠標(biāo)按下消息響應(yīng) CMainWin::OnLButtonDown 右鼠標(biāo)按下消息響應(yīng) MESSAGE_MAP 主窗口消息映射 65 運(yùn)行中的事件流圖 用戶 應(yīng)用程序 主窗口 鼠標(biāo)雙擊 啟動 構(gòu)造 Windows WM_CREATE WM_PAINT … 左鼠標(biāo)按下 WM_LBUTTONDOWN 右鼠標(biāo)按下 WM_RBUTTONDOWN 66 函數(shù)調(diào)用關(guān)系C Wnd:: C r e a teC Wnd:: S how WindowC Wnd:: U pda teWindowC TheA pp: :Init InstanceWinM a inC Fr a me Wnd :: O nLB utt onD ow nC M a inWi n:: O nLB utt onD ow nC Fr a me Wnd :: O nR B utt onD ow nC M a inWi n:: O nR B utt onD ow nC Wn d:: Win dow P r ocWindow s 系統(tǒng)67 MFC 設(shè)備描述類 ? 封裝設(shè)備描述表和圖形設(shè)備接口 – 抽象描述圖形輸出設(shè)備 – ( 如 : 顯示器 , 打印機(jī) , 繪圖儀 ) ? 常用派生類 – CPaintDC 類 用于 WM_PAINT處理 – CClientDC 類 用于其他消息處理 – CWindowDC類 用于整個窗口 68 CClientDC 的應(yīng)用 void CMainWnd::OnLButtonDown( UINT flg, CPoint pt ) { CClientDC dc( this )。 } CHelloWnd::CHelloWnd( ) { Create( NULL, “Hello World!” )。 m_pMainWndUpdateWindow( )。 // 應(yīng)用程序 BOOL CHelloApp::InitInstance() { m_pMainWnd = new CHelloWnd( )。 // 構(gòu)造主窗口 }。 // 實(shí)例初始化 }。 ( w, p, pos )。 while( pos ) { WORD w。 ... } 53 常用容器類( 2/2) ? 映射集合類: – 如: CMapWordToPtr、 CMapStringToOb... CMapWordToPtr wpx。 POSITION pos = ( )。 i++ ) WORD w = ax[ i ]。 for( int i=0。 ?各種設(shè)備和 GDI對象類 – 封裝句柄、相關(guān)數(shù)據(jù)結(jié)構(gòu)和 API。 44 三、 MFC 程序設(shè)計初步 基本思想: 以基本類庫的形式,支持 Windows 應(yīng)用程序基本框架和常用模 塊,覆蓋 API 函數(shù),提供高級編程接口。 43 上機(jī)題 2 ?擴(kuò)充上機(jī)題 1,實(shí)現(xiàn)以下功能: 1 . 當(dāng)鼠標(biāo)左鍵按下時,以鼠標(biāo)位置為圓心,畫出一個直徑為 10 的圓。 // 畫線至指定點(diǎn) } ReleaseDC(hWnd, hDC)。 // 設(shè)置當(dāng)前點(diǎn) case WM_LBUTTONUP: // 鼠標(biāo)釋放 LineTo(hDC, x, y)。 // 獲取設(shè)備句柄 switch( msg ) { …… case WM_LBUTTONDOWN: // 鼠標(biāo)按下 MoveTo(hDC, x, y)。 // 釋放設(shè)備 break。 // 文本輸出 EndPaint(hWnd, amp。ps)。 // 輸出設(shè)備句柄 PAINTSTRUCT ps。 /* 發(fā)送消息 */ } /* 收到消息 WM_QUIT 時退出循環(huán) 27 應(yīng)用程序簡例 ?WinMain 函數(shù) – 設(shè)置并登記窗口類“ WinAPIDemo”,指定 WndProc 為窗口函數(shù) – 創(chuàng)建并顯示該類的主窗口 – 進(jìn)入消息循環(huán) ?WndProc 窗口函數(shù) – 鼠標(biāo)消息 WM_LBUTTONDOWN – 鼠標(biāo)消息 WM_RBUTTONDOWN – 撤消消息 WM_DESTROY – 其余消息交給 DefWindowProc 28 消息的接收與識別 ?消息接收 窗口函數(shù)( HWND hwnd, // 窗口句柄 WORD msg, // 消息標(biāo)識 WPARAM wParam, // 字參數(shù) LPARAM lParan) // 長參數(shù) ?消息識別 msg wParam 29 窗口函數(shù)的實(shí)現(xiàn) 各 case 分支 設(shè)計消息響應(yīng)代碼 MessageBox 標(biāo)準(zhǔn)信息窗 MessageBeep 標(biāo)準(zhǔn)發(fā)聲函數(shù) PostQuitMessage 發(fā)送 WM_QUIT 消息 DefWindowProc 缺省消息處理函數(shù) 其他 API GetStockObject 獲得系統(tǒng)預(yù)定義對象 LoadCursor 裝入光標(biāo) LoadIcon 裝入圖標(biāo) 30 Windows 窗口的缺省
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1