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

正文內(nèi)容

面向?qū)ο蟮某绦蛟O(shè)計(jì)語言——c課件--第6章-資料下載頁

2025-01-07 01:57本頁面
  

【正文】 ( 1)在上例創(chuàng)建狀態(tài)欄的過程中,曾用到了 CStatusBar類的對(duì)象, CStatusBar是 Visual C++的 MFC類庫中的一個(gè)類,它用于描述狀態(tài)欄, CStatusBar類是由 CControlBar類派生而來的。其中, Create函數(shù)是其成員函數(shù),該函數(shù)的原型為: BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE |CBRS_BOTTOM, UINT nID = AFX_IDW_STATUS_BAR )。 其中: pParentWnd是指向狀態(tài)欄父窗口的指針 , dwStyle是狀態(tài)欄的風(fēng)格 , nID是子窗口的 ID號(hào) , 表 態(tài)欄風(fēng)格的幾種常用的取值及對(duì)應(yīng)的風(fēng)格 。 返回 62 表 dwStyle的取值及對(duì)應(yīng)的狀態(tài)欄的風(fēng)格 ( 2) 在 indicators的定義:static UINT indicators[],用于描述狀態(tài)欄中所包含的內(nèi)容。如果在利用 AppWizard向?qū)?chuàng)建 SDI或 MDI應(yīng)用程序框架中的第 4步中,選擇了 “ Initial status bar” 時(shí),則向?qū)?huì)自動(dòng)在 indicators的定義。向?qū)傻娜笔〉?indicator數(shù)組包含了四個(gè)元素,它們是 ID_SEPARATOR、 ID_INDICATOR_CAPS、ID_INDICATOR_NUM和 ID_INDICATOR_SCRL。 取值 風(fēng)格 CBRS_TOP CBRS_BOTTOM CBRS_NOALIGN 在框架窗口的頂部 在框架窗口的底部 當(dāng)父窗口改變尺寸以后不隨之變動(dòng) 返回 63 ( 3) 要在狀態(tài)欄的窗格中顯示文本信息 , 可以采用以下三種方法: ① 調(diào)用 CWnd::SetWindowText函數(shù)更新信息行窗格中的文本 。 由于狀態(tài)欄也是一種窗口 , 所以在程序中可以直接調(diào)用該函數(shù) 。 如:若狀態(tài)欄變量為 m_wndStatusBar, 則(“ 新修改的信息 ” )語句將在信息行窗格中顯示 “ 新修改的信息 ” 。 ② 手動(dòng)處理狀態(tài)欄的 ON_UPDATE_COMMAND_UI更新信息 , 并在處理函數(shù)中調(diào)用 CCmdUI::SetText函數(shù) , 該函數(shù)的原型為: virtual void SetText( LPCTSTR lpszText )。 其中:參數(shù) lpszText是一個(gè)指向字符串的指針 。 返回 64 ③ 調(diào)用函數(shù) CStatusBar::SetPaneText 與CStatusBar::GetPaneText可以設(shè)置或獲得任何窗格 ( 包括信息行窗格 ) 中的文本 。 此函數(shù)的原型為: BOOL SetPaneText( int nIndex, LPCTSTR lpszNewText, BOOL bUpdate = TRUE )。 CString GetPaneText( int nIndex ) const。 其中 , 參數(shù) nIndex是待設(shè)置的窗格位置索引號(hào) ( 第 1個(gè)窗格的位置索引為 0) , lpszNewText表示要顯示的字符串 ,若參數(shù) bUpdate的值為 TRUE, 系統(tǒng)自動(dòng)更新顯示的結(jié)果 。 ( 4) 調(diào)用 CStatusBar:: CommandToIndex 可以獲得指定資源 ID號(hào)所在窗格的位置索引號(hào) , 該函數(shù)的原型為: int CommandToIndex( UINT nIDFind ) const。 其中:參數(shù) nIDFind是狀態(tài)欄中某一資源 ID號(hào) 。 返回 65 ( 5 ) 調(diào)用函數(shù) CStatusBar::SetPaneInfo 與CStatusBar::GetPaneInfo可設(shè)置或獲得窗格的長度 、 風(fēng)格等信息 , 它們的函數(shù)原型為: void SetPaneInfo( int nIndex, UINT nID, UINT nStyle, int cxWidth )。 void GetPaneInfo( int nIndex, UINTamp。 nID, UINTamp。 nStyle, intamp。 cxWidth ) const。 其中:參數(shù) nIndex表示要設(shè)置的狀態(tài)欄窗格的索引號(hào) ,nID用來為狀態(tài)欄窗格指定新的資源 ID號(hào) , cxWidth表示窗格的像素寬度 , nStyle表示狀態(tài)欄窗格的風(fēng)格類型 , 用來指定窗格的外觀 , 如: SBPS_POPOUT表示窗格是凸起來的 。 具體見表 。 返回 66 風(fēng)格取值 風(fēng)格 SBPS_NOBORDERS SBPS_POPOUT SBPS_DISABLED SBPS_STRETCH SBPS_NOMAL 窗格四周沒有 3D邊框 反顯邊框使文字凸起顯示 禁用窗格 , 不顯示文本 拉伸窗格 , 交填充窗格不用的空白空間 。 但狀態(tài)欄中只能有一個(gè)窗格具有這種風(fēng)格 普通窗格 , 沒有 “ 拉伸 ” 、 “ 3D邊框 ” 、 “ 文字凸起顯示 ” 等效果 表 狀態(tài)欄中各窗格的風(fēng)格取值及對(duì)應(yīng)風(fēng)格 返回 67 ( 6 ) 調(diào)用 CStatusBar::SetPaneStyle 與CStatusBar::GetPaneStyle可分別用來設(shè)置或獲得狀態(tài)欄窗格的風(fēng)格 , 二者的原型如下: UINT GetPaneStyle( int nIndex ) const。 void SetPaneStyle( int nIndex, UINT nStyle )。 其中:參數(shù) nIndex是狀態(tài)欄中某一窗格的位置索引號(hào) ,nStyle為狀態(tài)欄中窗格的風(fēng)格 。 3. 進(jìn)一步完善狀態(tài)欄 現(xiàn)在 , 我們?cè)趧偛盘砑訝顟B(tài)欄例子的基礎(chǔ)上進(jìn)行修改 。當(dāng)用戶選擇 “ 關(guān)于 ” 菜單項(xiàng)時(shí) , 彈出 “ 字體對(duì)話框 ” ,當(dāng)單擊 “ 確定 ” 按鈕關(guān)閉此對(duì)話框后 , 在狀態(tài)欄上原來顯示文本測(cè)試狀態(tài)欄的空格中顯示 “ 您已經(jīng)查看過字體對(duì)話框 !” , 按照下面的方法進(jìn)行操作 。 返回 68 步驟一: 選擇 【 View】 菜單中的 【 ClassWizard】 菜單項(xiàng) 。彈出 【 MFC ClassWizard】 對(duì)話框 , 在 【 Class name】 列表中選擇類 CMainFrame, 在 【 Object IDs】 列表中選擇ID_APP_ABOUT ; 右 邊 的 【 Messages】 欄 中 將 出 現(xiàn)COMMAND 和 UPDATE_COMMAND_UI , 雙擊COMMAND選項(xiàng) 。 將彈出 Add Member Function 對(duì)話框 。 步驟二: 接受系統(tǒng)缺省的函數(shù)名稱 OnAppAbout, 單擊【 OK】 按鈕 , 返回 MFC ClassWizard對(duì)話框 。 這時(shí)在MFC ClassWizard對(duì)話框中的 【 Member functions】 框中增加了一個(gè)函數(shù) OnAppAbout。 步驟三: 單擊 【 Edit Code】 按鈕 , 在代碼編輯窗口中打開 OnAppAbout函數(shù) 。 在編輯此函數(shù)之前 , 首先要在 include語句 。 具體代碼如下 , 其中粗體部分為新增加的代碼 。 返回 69 // : implementation of the CMainFrame class // include include include include ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__。 endif 返回 70 步驟四: 在代碼編輯窗口中 , 編輯函數(shù) OnAppAbout()。 具體代碼如下 , 其中粗體部分為新增加的代碼 。 void CMainFrame::OnAppAbout() {// TODO: Add your mand handler code here CMydataDialog dlg。 if(()==IDOK) { CClientDC dc(this)。 SIZE size=(您已經(jīng)查看過個(gè)人資料對(duì)話框 !)。 int ndex=(ID_STATUSBAR_STR)。 (index,ID_STATUSBAR_STR,SBPS_POPOUT,)。 (index,_T(您已經(jīng)查看過個(gè)人資料對(duì)話框 !),TRUE)。 } } 返回 71 說明: 在此函數(shù)中 , 首先生成了一個(gè)字體對(duì)話框的實(shí)例 , 并且顯示為有模式對(duì)話框 。 當(dāng)用戶單擊 【 確定 】 按鈕退出此對(duì)話框時(shí) , 要改變狀態(tài)欄的字符串顯示 。 首先調(diào)用函數(shù) GetTextExtent()來獲得字符串的長度 , 然后調(diào)用 CommandToIndex()函數(shù)獲得窗格的索引 , 再通過調(diào)用函數(shù) SetPaneInfo()來設(shè)置窗格的長度 、 風(fēng)格等信息 。 在此例中 , 我們使用了風(fēng)格 SBPS_POPOUT, 它使創(chuàng)建的窗格看起來是從狀態(tài)欄中凸出來的 。 最后調(diào)用函數(shù) SetPaneText()來顯示文本內(nèi)容 。 步驟五: 編譯并運(yùn)行此應(yīng)用程序。 返回 72 本章小結(jié) 在應(yīng)用程序中 , 要實(shí)現(xiàn)菜單的功能 , 其步驟和方法是先利用菜單編輯器建立菜單資源 , 然后編寫菜單命令的WM_COMMAND消息映射函數(shù)及相應(yīng)代碼 。 在 MFC框架中 , 菜單命令消息是按照一定的順序進(jìn)行傳遞的 。 對(duì)于一個(gè)單文檔應(yīng)用程序 , 消息傳遞的順序?yàn)椋阂晥D類 → 文檔類 → 框架類 → 應(yīng)用程序類 。 Visual C++的 MFC提供的菜單類 Cmenu的對(duì)象可以用來表示各種 Windows菜單 , 其中包括頂層菜單項(xiàng)及其相應(yīng)的彈出式菜單 。 并且利用該類的成員函數(shù)可以在程序運(yùn)行時(shí)處理有關(guān)菜單的操作 。 工具欄是應(yīng)用程序中常用操作的快捷方式 , 創(chuàng)建工具欄的方法是先創(chuàng)建工具欄資源 , 然后在主框架窗口類CMainFrame中創(chuàng)建響應(yīng) WM_CREATE的消息映射函數(shù) ,在該函數(shù)中 , 利用 MFC提供的工具欄類 CToolBar對(duì)象的 返回 73 Create 成 員 函 數(shù) , 創(chuàng)建工具欄 。 CToolBar 類 是 由CControlBar類派生而來的 , 它用于描述工具欄 。 狀態(tài)欄中的空間按從左向右的順序分為信息行窗格和指示器窗格 , 處在狀態(tài)欄最左側(cè)的窗格 , 其位置序號(hào)為 0,向右依次類推 , 它可以分割成幾個(gè)窗格 , 用來顯示許多信息 。 其創(chuàng)建方法是先創(chuàng)建狀態(tài)欄資源 , 然后在主框架窗口類 CMainFrame中創(chuàng)建響應(yīng) WM_CREATE的消息映射函數(shù) , 在 該 函 數(shù) 中 , 利用 MFC 提 供 的 工 具 欄 類CStatusBar 對(duì)象的 Create 成 員 函 數(shù) , 創(chuàng) 建 狀 態(tài) 欄 。CStatusBar類是由 CControlBar類派生而來的 , 它用于描述狀態(tài)欄 。 狀態(tài)欄中的窗格的個(gè)數(shù)及所顯示的信息由在 indicators的元素的個(gè)數(shù)和元素的值來決定 。 返回 74 習(xí)題 利用 AppWizard向?qū)Ы⒁粋€(gè)單文檔應(yīng)用程序 , 并完成以下操作: ( 1) 利用資源編輯器向原有菜單欄中增加一個(gè)頂層菜單“ 查看 ” , 并在其下拉菜單 ( 彈出菜單 ) 中添加 “ 顯示鼠標(biāo)坐標(biāo) ” 菜單項(xiàng) 。 ( 2) 在主框架窗口類即 CMainFrame類中 , 建立響應(yīng)WM_COMMAND和 WM_COMMAND_UI消息映射函數(shù) ,函數(shù)名自定 , 函數(shù)的功能是 , 當(dāng)程序運(yùn)行過程中 , 用戶選擇 “ 顯示鼠標(biāo)坐標(biāo) ” 菜單項(xiàng)時(shí)能在該菜單項(xiàng)的左邊顯示 “ √” 標(biāo)記 , 當(dāng)再次選擇該菜單項(xiàng)時(shí)標(biāo)記消失 。 ( 3) 為 “ 顯示鼠標(biāo)坐標(biāo) ” 菜單項(xiàng)建立一個(gè)快捷鍵“ Ctrl+D” 。 返回 75 ( 4) 利用資源編輯器向現(xiàn)有的工具欄的末尾添加一個(gè)按鈕 , 按鈕的圖標(biāo)自己設(shè)計(jì) 。 并進(jìn)行有關(guān)的設(shè)定使該按鈕的功能同選擇 “ 顯示鼠標(biāo)坐標(biāo) ” 菜單項(xiàng)的功能相同 。 ( 5) 在現(xiàn)有狀態(tài)欄的基礎(chǔ)上再增加一個(gè)信息行窗格 , 用于顯示鼠標(biāo)移動(dòng)過程中鼠標(biāo)的當(dāng)前 X, Y坐標(biāo) 。 ( 6) 利用 ClassWizard向?qū)г趹?yīng)用程序的視圖類中添加響應(yīng) WM_MOUSEMOVE消息的消息處理函數(shù) , 函數(shù)名自定 ,該函數(shù)的功能就是把鼠標(biāo)在移動(dòng)過程中的位置 X, Y坐標(biāo)顯示到狀態(tài)欄的新增信息行窗格中 。 在 VC環(huán)境中 , 利用 Help菜單查看和學(xué)習(xí) CMenu類 、CToolBar類 、 CStatusBar類 、 CCmdUI類的內(nèi)容 , 即其中的數(shù)據(jù)成員和成員函數(shù) 。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1