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

正文內(nèi)容

windows程序設(shè)計-資料下載頁

2025-07-17 18:59本頁面
  

【正文】 多文檔界面應(yīng)用程序的概念 ? 單文檔界面應(yīng)用程序是讓用戶操作一個文檔 .在一個單文檔界面程序中 ,用戶在同一時刻只能操作一個文檔 .這就是說 ,用戶不能同時打開多個文檔 .如寫字板 ? 一個多文檔界面應(yīng)用程序也能操作文檔 ,但是 ,一個多文檔界面應(yīng)用程序允許用戶同時操作幾個文檔 .如 word 2 建立一個多文檔界面應(yīng)用程序 ? 在向?qū)У牡谌?,選擇 both container and server ? 在最后一步 ,為了使生成的程序能夠編輯文字 ,需要修改一下程序中的一個類 ,改變它的基類為 CRichEditView,這就意味著 ,可以使用它作為文檔處理工具 . 3 檢驗已完成的程序 ? 編輯鏈接運行 4 修改已建立的應(yīng)用程序 ? 可以修改菜單 ? 可以修改對話框等資源信息 第十三章 創(chuàng)建并使用動態(tài)鏈接庫 ? 本章介紹什么是動態(tài)鏈接庫 ,如何使用VC++ ,以及如何使用動態(tài)鏈接庫等 . 1 動態(tài)鏈接庫的概念 ? 動態(tài)鏈接庫是一個包含函數(shù)的文件 ,程序員可以很容易地分配新的函數(shù)和資源 .動態(tài)鏈接庫和其它 C++庫不一樣 ,它們是在運行時和應(yīng)用程序鏈接 ,而不是在編譯鏈接過程中 . ? 動態(tài)鏈接庫 Dynamic Link Library,簡稱 DLL,與之對應(yīng)的是靜態(tài)鏈接庫 .他們之間的區(qū)別在于 ,靜態(tài)鏈接庫是在應(yīng)用程序的編譯過程中與應(yīng)用程序相鏈接的 ,而動態(tài)鏈接庫是在應(yīng)用程序的執(zhí)行過程中與應(yīng)用程序相鏈接 . 續(xù) ? 如果應(yīng)用程序鏈接的是靜態(tài)鏈接庫 ,每一個應(yīng)用程序在編譯過程中都必須拷貝一份庫的代碼 ,這樣造成了資源的浪費 ,而且使應(yīng)用程序本身的代碼開銷很大 .而動態(tài)鏈接庫在編譯過程中并不鏈接應(yīng)用程序 ,而是當應(yīng)用程序運行時鏈接 ,可以和其它的應(yīng)用程序共享庫中的函數(shù)和資源 ,減少了因重復拷貝而造成的應(yīng)用程序的冗長以及計算機資源的占用 . ? 當用戶創(chuàng)建使用動態(tài)鏈接庫的應(yīng)用程序時 ,必須將動態(tài)鏈接庫文件和應(yīng)用程序的可執(zhí)行文件一同分發(fā) . 續(xù) ? 為了使應(yīng)用程序正常地使用動態(tài)鏈接庫 ,這些 .DLL文件必須放在下列任何一個子目錄中 : ? Windows的 /SYSTEM子目錄 ? 應(yīng)用程序所在的子目錄 ? 配置文件中定義的自動搜索的子目錄 2 建立動態(tài)鏈接庫的工程文件 ? 建立一個靜態(tài)鏈接庫 ? 建立一個 Win32應(yīng)用程序和 MFC應(yīng)用程序都可調(diào)用的動態(tài)鏈接庫 ? 建立一個只有 MFC應(yīng)用程序能調(diào)用的動態(tài)鏈接庫 3 定制動態(tài)鏈接庫的兩個主要文件 ? .cpp文件是 DLL的主要的源代碼文件 .它包含了類的定義 ? .def文件包含了 DLL提供的關(guān)于 DLL在Windows下運行的一些信息 ,在這個文件中定義了一些參數(shù) ,如 DLL的名稱和屬性等 ,還聲明了從 DLL中輸出的函數(shù) . 定制 .cpp文件 ? 在文件的后面加上一個自定義的 Message()函數(shù)如下 : ? int Message(void) ? { ? MessageBox(NULL,This is the example of testing DLL.,NULL,MB_ICONEXCLAMATION)。 ? return 1。 ? } ? 有了函數(shù)體之后 ,還必須在文件的頭部聲明該函數(shù) : ? int Message(void)。 定制 .def文件 ? 動態(tài)鏈接庫的 def文件定義了 DLL的各種特點 ,def文件中的注釋的標識符和 cpp文件不一樣 ,注釋行用 。表示 ,而不是 //表示 ? Build后生成了 .dll文件 . 4 測試用應(yīng)用程序功能 5 建立測試用應(yīng)用程序的工程文件 ? MFC App (exe) ? 單文檔應(yīng)用程序 6 應(yīng)用程序的可視化編程部分 7 應(yīng)用程序的代碼編程部分 ? 聲明變量 ? HINSTANCE handleDLL=NULL。 ? typedef int(*MESSAGE)(void)。 ? MESSAGE Message。 ? 第一條語句聲明一個全局變量 ,并設(shè)置初始值為NULL,該變臉用于存儲動態(tài)鏈接庫的句柄 . ? 第二條語句聲明一個 MESSAGE的變量類型 ,用來保存一個不帶參數(shù) ,返回值為整數(shù)的函數(shù)指針 , ? 最后聲明一個 MESSAGE類型的變量 ,這樣 ,該變量可以被認為是一個不帶參數(shù) ,返回值為整數(shù)的函數(shù) . 續(xù) ? 給菜單項 ? void CMainFrame::OnDllLoad() ? { ? if(handlerDLL!=NULL) ? { ? MessageBox(The OneDLL has been loaded.)。 ? return。 ? } ? handlerDLL=LoadLibrary()。 ? if(handlerDLL==NULL) ? { ? MessageBox(Cannot Load the )。 ? } ? Message=(MESSAGE)GetProcAddress(handlerDLL,Message)。 ? } 續(xù) ? 給菜單項 ? void CTestDLLView::OnDllTest() ? { ? // TODO: Add your mand handler code here ? if(handlerDLL==NULL) ? { ? MessageBox(Please Load the first.)。 ? return。 ? } ? Message()。 ? } 8 檢驗用于測試動態(tài)鏈接庫的應(yīng)用程序 ? 如果應(yīng)用程序不能加載動態(tài)鏈接庫 ,那是因為用戶沒有把該動態(tài)鏈接庫拷貝到下面三個目錄的任何一個目錄下 : ? Windows的 /SYSTEM子目錄 ? 應(yīng)用程序所在的子目錄 ? 配置文件中定義的自動搜索的子目錄 第十四章 繪圖程序 ? 可以設(shè)置線型、線寬、填充模式、顏色和繪圖類型等信息 1 應(yīng)用程序功能 圖形設(shè)備接口 (GDI) ? 圖形設(shè)備接口是有關(guān)處理繪畫操作的類函數(shù) .MFC所支持的 GDI,包括位圖、字形、畫筆、筆刷等一些類 .這些類的父類為CGdiObject類 . 設(shè)備環(huán)境 ? 設(shè)備環(huán)境 (Device Context,DC),屏幕的繪畫區(qū)域或通過打印機輸出的區(qū)域 . ? 在 windows中 ,使用 GDI函數(shù)在設(shè)備上顯示輸出之前必須先獲得設(shè)備環(huán)境 (DC). ? 設(shè)備環(huán)境是一種內(nèi)部數(shù)據(jù)結(jié)構(gòu) .用于存儲圖形屬性 .圖形和文本的顯示正是通過這種屬性控制的 . 畫筆和筆刷 ? GDI中的 CPen類可以建立各種樣式的畫筆 .畫筆類型的具體含義如下 : ? int nPenStyle(樣式參數(shù) ) ? PS_SOLID ? PS_DASH ? PS_DOT ? PS_DASHDOT ? PS_DASHDOTDOT ? PS_NULL 筆刷 ? GDI中的 CBrush類可創(chuàng)建筆刷對象 ? int nIndex(陰影參數(shù) ) ? HS_BDIAGONAL ? HS_CROSS ? HS_DIAGCROSS ? HS_FDIAGONAL ? HS_HORIZONTAL ? HS_VERTICAL 2 創(chuàng)建工程文件 ? 創(chuàng)建一個單文檔 SDI工程 ? MFC AppWizard(exe) 3 應(yīng)用程序可視化編程部分 ? 添加菜單項 ? 添加圖型、線型、線寬、顏色、筆刷菜單項 ? 設(shè)置各菜單項下的子菜單 圖型 (T)的子菜單項屬性設(shè)置 菜單項 ID Caption 直線 ID_LINE 直線 (amp。L) 矩形 ID_RECTANGLE 矩形 (amp。R) 橢圓 ID_ELLIPSE 橢圓 (amp。E) 線型 (P)的子菜單項屬性設(shè)置 菜單項 ID Caption 直線 (A) ID_PS_SOLID 直線 (amp。A) 長短線 (B) ID_PS_DASH 長短線 (amp。B) 短劃線 (C) ID_PS_DOT 短劃線 (amp。C) 短短長線 (D) ID_PS_DASHDOT 短短長線 (amp。D) 短短短長線 (E) ID_PS_DASHDOTDOT 短短短長線 (amp。E) 線寬 (W)的子菜單項屬性設(shè)置 菜單項 ID Caption 1 ID_X1 1 2 ID_X2 2 3 ID_X3 3 4 ID_X4 4 5 ID_X5 5 顏色 (C)的子菜單項屬性設(shè)置 菜單項 ID Caption 紅色 (R) ID_RED 紅色 (amp。R) 藍色 (B) ID_BLUE 藍色 (amp。B) 黃色 (Y) ID_YELLOW 黃色 (amp。Y) 筆刷 (B)的子菜單項屬性設(shè)置 菜單項 ID Caption 空心 (K) ID_BS_KX 空心 (amp。K) 實心 (A) ID_BS_SX 實心 (amp。A) 陰影斜上 (B) ID_BS_XS 陰影斜上 (amp。B) 陰影斜下 (C) ID_BS_XX 陰影斜下 (amp。C) 陰影十字 (D) ID_BS_SZ 陰影十字 (amp。D) 陰影交叉 (E) ID_BS_JC 陰影交叉 (amp。E) 陰影橫向 (F) ID_BS_HX 陰影橫向 (amp。F) 陰影縱向 (G) ID_BS_ZX 陰影縱向 (amp。G) 添加工具欄按鈕 ? 直線 ? 矩形 ? 橢圓 4 應(yīng)用程序的代碼編程部分 ? 給視圖類添加成員變量 ? 在工作區(qū)中點擊 ClassView標簽 ,展開繪圖Classes,點擊鼠標右鍵 ,加入成員變量 續(xù) ? int m_yy。 ? int m_bx。 ? int m_ys。 ? int m_xh。 ? bool m_yyzx。 ? bool m_yyhx。 ? bool m_yyjc。 ? bool m_yysz。 ? bool m_yyxx。 ? bool m_yyxs。 ? bool m_sx。 ? bool m_kx。 ? bool m_yellow。 ? bool m_blue。 ? bool m_red。 ? bool m_x5。 ? bool m_x4。 ? bool m_x3。 ? bool m_x2。 ? bool m_x1。 ? bool m_dashdotdot。 ? bool m_dashdot。 ? bool m_dot。 ? bool m_dash。 ? bool m_solid。 ? bool m_ellipse。 ? bool m_rectangle。 ? bool m_line。 ? CPoint m_end。 ? CPoint m_start。 在視圖類的構(gòu)造函數(shù)中初始化一些成員變量 ? CPaintView::CPaintView() ? { ? // TODO: add construction code here ? m_line=true。 ? m_rectangle=false。 ? m_ellipse=false。 ? m_solid=true。 ? m_dash=false。 ? m_dot=false。 ? m_dashdot=false。 ? m_dashdotdot=false。 ? m_x1=true。 ? m_x2=false。 ? m_x3=false。 ? m_x4=false。 ? m_x5=false。 ? m_red=true。 ? m_blue=false。 ? m_yellow=false。 ? m_kx=true。 ? m_sx=false。 ? m_yyxs=false。 ? m_yyxx=false。 ? m_yysz=false。 ? m_yyjc=false。 ? m_yyhx=false。 ? m_yyzx=false。 ? m_xh=1。 ? m_bx=PS_SOLID。 ? m_ys=RGB(0,0,0)。 ? m_yy=NULL。 ? } 在視圖類中添加消息處理函數(shù) ? ON_COMMAND ? ON_UPDATE_COMMAND_UI 圖型菜單項 (COMMAND) ? void CPaintView::OnLine() ? { ? // TODO: Add your mand handler code here ? m_line=true。 ? m_rectangle=false。 ? m_ellipse=false。 ? } ? void CPaintView::OnRectangle() ? { ? // TODO: Add your mand handler code here ? m_line=fa
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1