當前位置:首頁 » 編程軟體 » mfc單文檔編程教程

mfc單文檔編程教程

發布時間: 2022-07-09 04:23:49

『壹』 怎樣用vc++6.0來編寫MFC

文件--》新建->工程 -->MFC
VC6 有三種選擇 基於對話框的 MFC 工程
基於單文檔的 MFC 工程
基於多文檔的 MFC 工程

這樣的問題,建議,直接在網路里搜索 VC++ 6.0 視頻教程,看看怎麼點的。
或者看本基礎書的圖片!!! 看圖片。

『貳』 單文檔MFC

菜單的響應函數在MFC ClassWizard里添加,一般加在CXXXView里。然後在自動生成的菜單響應函數里添加對Dialog的操作。在此之前,先在CXXXView的頭文件里聲明代表Dialogue的成員變數,同時包含Dialog的頭文件。
在Dialo編輯界面中雙擊OK按鈕控制項,MFC會自動幫你在Dialog的cpp文件中添加響應函數,想保存什麼就在裡面寫就行。

『叄』 編寫MFC下的單文檔程序,繪制圓,圓心坐標和半徑由對話框輸入

void CCircle_TestView::OnDraw(CDC* pDC)
{
CCircle_TestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

HPEN hPen; //畫筆;
hPen=CreatePen(PS_DASH,2,0x00ff00);//生成綠色畫筆;
SelectObject(pDC->m_hDC,hPen);//把畫筆引入設備場境 ;
Arc(pDC->m_hDC,100,100,300,300,350,500,350,500);//畫圓 ;
SelectObject(pDC->m_hDC,hPen);//復原 ;
}

總結:其實畫圓還可以使用Ellipse函數。

『肆』 編寫一個mfc程序(無論復雜還是簡單的)基本的步驟可以歸納為什麼

第一步,選擇文檔類型。有三個選項,單文檔,多文檔,對話框。單文檔就是像Windows記事本、Windows畫圖、Windows寫字板這樣的程序,一個程序只有一個文檔處於編輯狀態;多文檔指的是想Word,Excel這樣可以在一個MDI窗口裡面同時處理多個文檔的類型。對話框方式值得是像Windows掃雷、紙牌那樣直接在對話框進行操作的程序。 這一步還有一個選項,叫做Doc/View,指的是對於文檔處理來說,MFC可以提供一個數據結構,能夠自動存儲、編輯、瀏覽文件。可根據當前編寫的應用程序決定上述選項。

第二步,資料庫選項。可以選擇不需要資料庫、只需要頭文件、帶支持和不帶文件支持的數據視圖四個選項。如果需要用資料庫,那麼還可以直接用Data Source來選擇數據源,比如是本地資料庫文件還是一個伺服器上的資料庫

第三步,選擇文檔部件。這個可能比較難於理解,需要必要的ACTIVE X支持。簡單的說,就是這樣的:比如,當前WORD文檔需要嵌入一個EXCEL表格,然後你編輯這個WORD文檔內的表格,雙擊後就激活了EXCEL,編輯完成後退出EXCEL,又回到了WORD,這時候數據也被更新了。這種應用程序內可以再嵌套一個應用程序的技術被微軟公司稱為ACTIVE X。ActiveX的類型有容器性,多伺服器型,單伺服器型,同時可以作為容器和伺服器,等等。是哪一種應用真的需要認真學習一下。比如說上面的WORD嵌入EXCEL,那麼WORD相當於容器,EXCEL相當於伺服器;但是其實EXCEL被設計為同時可以作為容器和伺服器,到底怎麼理解,還得看你的程序的需求。至於最後兩個選項,自動化和ACTIVE X,指的是您可以選擇從本地計算機找到一些現成的ACTIVE X 控制項插入到本工程中去,比如上面的WORD控制項和EXCEL空間,當然還有很多,你如果用過VB就會更理解這個概念。

第四步,是比較簡單的,就是界面上的一堆工具條怎麼設計的問題,docking表示那種可以拖起來自動選擇合適位置放下去的工具條;Initial Status Bar表示初始化就有狀態條;Print那個表示列印和列印預覽;Context那個表示根據環境變化自動提供幫助的功能;3D表示控制項外觀立體化;MPI表示應用WINDOWS電郵消息機制;SOCKET表示使用WINDOWS socket 2.0 TCP/IP通信。再下面一個選項可以選擇外觀與IE瀏覽器是否一致,最後一個選項可以選擇菜單中顯示最近打開的4個文檔或者更多最近打開的文檔。在Advanced高級功能中,有一些關於本工程涉及的數據文件的用法,包括文件名後綴,在windows注冊表裡面登記信息,主窗體邊框風格等等

第五步,也算好理解,就是工程風格,是MFC標准(比如WORD)還是Windows Explore,左邊帶一個目錄樹,右邊是展開選項那種,然後下面四個選項是問是不是文檔中自動加註釋,以及MFC隨工程發布時使用的類型,是動態庫還是靜態庫,其實這個選項意義不大,但是效率上和部署上有些差異。

第六步,也就是最後一步,選擇主類的名稱、主類文件名、基類、文檔類等等。

上述六步,不是那麼容易簡單理解的,需要做幾個類型的應用程序才能徹底吃透,比如WORD類型的、網路伺服器類型的、資料庫應用類型的、IE類型的等等,一個例子消化不了這么多內容。

『伍』 1 在一個單文檔應用程序中實現單擊滑鼠左鍵在屏幕中顯示一個自定義的模態對話框的功能。用MFC的編程題,謝

這些貌似都是一些教程上的案例,應該很多書上都能找到。
第三題:
1、創建一個單文檔工程;
2、給View類加一個WM_LBUTTONDOWN的windows message(別告訴我不知道怎麼加);
3、在消息響應函數void CMyView::OnLButtonDown(UINT nFlags, CPoint point)中加一個MessageBox("好好學習!");就行了。
第四題:
1、創建一個單文檔工程;
2、添加一個對話框insert/Resource/Dialog,New一個就行了;
3、按要求添加控制項:三個編輯框、一個button,其實可以再加三個static text,註明加數1、加數2及總和之類的,最好也把ID改了,比如說IDC_EDIT_ADD1、IDC_EDIT_ADD2、IDC_EDIT_SUM之類的,這都是習慣問題;
4、點View/Classwizad,給剛才的對話框添加一個新類,如CAdd;
5、同樣在Classwizad中給編輯框添加變數,m_nAdd1\m_nAdd2\m_nSum;
6、給button添加消息響應函數,加入如下代碼:
UpdateData(TRUE);
m_nSum=m_nAdd1+m_nAdd2;
UpdateData(FALSE);
7、添加一個調用對話框的消息,這個看你喜歡怎麼調用了,菜單命令、工具欄命令,或者滑鼠單擊也行,以滑鼠左鍵單擊為例(為了承接上一題,呵呵),添加滑鼠單擊消息,添加代碼如下:
CAdd dlg;
if(!dlg.DoModal())
{
MessageBox("Create Dialog Error!");
}
對了,記得在你的MyView.h中加這一行代碼:#include "Add.h"
完畢!

『陸』 VC++ 使用MFC可視化編程 創建一個存儲和顯示學生信息的單文檔應用程序

這個簡單 根本不需要什麼文檔,直接 用對話框 就行了,如果想要菜單自己手動添加,創建一個clist的鏈表,輸入一個記錄一個,最後顯示的時候遍歷一下,找出對應的就可以了.

『柒』 MFC 單文檔文件 可視化編程

這個簡單
根本不需要什麼文檔,直接
用對話框
就行了,如果想要菜單自己手動添加,創建一個clist的鏈表,輸入一個記錄一個,最後顯示的時候遍歷一下,找出對應的就可以了.

『捌』 深入淺出MFC 基礎

1.c++語法要掌握.
2.windows程序設計是必需的,特別是象單文檔程序,如果不了解消息處理細節,你直接上mfc的封裝類,光一個CFrameWnd就可以讓你深陷其中,雲里霧里.
一些簡單內容,直接跳過去就是了.
3.mfc學習,一本是李久近的,還是有一個國外的<深入解析mfc>.而侯俊傑的就省省吧.

1.c++法法掌握,主要是一本書<深入探索c++對象模型>.看完這本,神馬語法都是浮雲.
rtti,為類維護一個static類,由於static對於類的多個實例來說仍然只有一個,這樣就可以通過static記錄類繼承信息來判斷父子關系.c++編譯器自動實現,只要關心相應的函數就行了.
mfc,剛好就是明顯提供了這種類似的實現,主要用於消息映射表遍歷.

象com類,它是用128位數,也就是uuid用來表達一個類名稱,然後通過字元串比較,來判斷到底要返回嘛類,這個體會一下.

『玖』 MFC中單文檔的程序執行流程是怎樣的

你問的這個問題很復雜 要在這里三言兩語說清楚是不可能的了

我只能推薦你看兩本書 裡面有接受

一是孫鑫的《vc++深入詳解》 講的很基礎
再有就是候俊傑的《深入淺出mfc》 這本書深入的挖掘了底層的代碼 看懂了你就明白了單文檔多文檔到底是怎麼執行的了 不過很有難度

我有電子書 可以問我要

『拾』 如何在MFC單文檔里添加按鈕

在單文檔視圖(SDI)結構中,視圖一般用來顯示數據。但是,有時也希望在視圖中顯示按鈕或其他的控制項,以滿足用戶的需要。VC6.0沒有直接給出在視圖中添加按鈕的向導(或許有,我沒找到)。下面我將給出一個手動添加按鈕並使按鈕具有響應事件 的功能。
第一步:添加一個按鈕
1、首先在**View.h中定義一個按鈕標識
#define ID_BUTTON 100
2、 其次給C**View類添加一個成員變數
CButton m_myButton; //這條語句寫在**View.h的類的定義中,要聲明為PUBLIC類型
3、然後創建按鈕實例
m_myButton.Create(_T("示例按鈕"), //按鈕的caption屬性,按鈕的顯示
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_ICON, // 按鈕也是一種窗體,同樣有窗體風格,這些常量通過或運算使按鈕達到一定的效果,這些常量的含義可以參考MSDN。
CRect(20,320,50,340), //這個參數指出按鈕在視圖中的位置和按鈕的大小。
this, //這個指針指向按鈕這個窗體的父窗體
ID_BUTTON); //這是剛才為按鈕定義的常量,按鈕的控制ID
4、然後調用函數m_MyButton.ShowWindow(SW_HIDE)這個函數根據參數的樣式顯示按鈕,此時的參數表示隱藏按鈕,如果要顯示按鈕,可以以SW_SHOW作為參數,這樣,就是在想用到按鈕的時候調用函數m_MyButton.ShowWindow(SW_SHOW)顯示出按鈕。
說明:按鈕在C**View::OnCreate()函數中初始化。這個函數是當窗體被創建的時候調用的一個初始化函數。像按鈕這樣的對象在這個時候初始化是比較合適的。
int C**View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

m_MyButton.Create(_T("示例按鈕"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_ICON,
CRect(20,320,50,340), this, ID_BUTTON);
m_MyButton.SetIcon(AfxGetApp()->LoadIcon(ICON_SAVE)); //給按鈕載入一個圖標
m_MyButton.ShowWindow(SW_HIDE);

return 0;
}

第二步:消息函數
此時的按鈕是不能響應任何消息的。下面我們手動添加按鈕的消息。
1、聲明函數原型
在C**View類的聲明中聲明一個protected類型的函數
//{{AFX_MSG(CSoftView)
afx_msg void OnMyButton();
//}}AFX_MSG
通常的做法,也是VC6.0向導的做法,會將消息處理函數聲明在//{{AFX_MSG(CSoftView)~~~ //}}AFX_MSG標記中,當然,在VS.NET 2003中,我們將看不到這個標記。真正起作用的是afx_msg,它表明隨後的函數是一個消息處理函數。
2、函數的實現
下面實現函數,顯然,這個函數也是C**View類的一個成員函數,所以在**View.cpp中實現
void C**View::OnMyButton()
{
MessageBox("你點擊了我");
}

3、如果這個時候你就運行程序的話,按鈕依然不會響應任何事件。因為事件的產生的消息是交給視圖的,所以我們需要把消息從視圖傳給按鈕,實現起來很簡單,在**View.cpp中找到如下的標記:
BEGIN_MESSAGE_MAP(C**View, CView)
END_MESSAGE_MAP()
在這個標記中寫入如下代碼:ON_BN_CLICKED(ID_BUTTON, OnMybutton)
這句代碼是說,讓ID_BUTTON所指的對象響應單擊(ON_BN_CLICKED)事件,事件的處理函數是OnMybutton。這是MFC的消息映射機制。對於這個機制,在此不多說,待後續。
到此,一個可以響應單擊事件的按鈕就創建好了。如果要響應其他事件,可以按照這個方式創建,只需要改動這個過程中的第3步,將ON_BN_CLICKED改成希望響應的消息類型就可以了。

熱點內容
正在限制訪問 發布:2025-02-09 03:47:17 瀏覽:901
架設資料庫 發布:2025-02-09 03:41:29 瀏覽:964
imacpro哪個配置最好 發布:2025-02-09 03:32:29 瀏覽:251
用編程對話 發布:2025-02-09 03:23:43 瀏覽:86
自助解壓球 發布:2025-02-09 03:17:37 瀏覽:319
linux進程的退出 發布:2025-02-09 03:00:22 瀏覽:814
淘寶上傳時間 發布:2025-02-09 02:42:13 瀏覽:638
ios緩存數據 發布:2025-02-09 02:32:06 瀏覽:254
蘋果手機如何存儲word 發布:2025-02-09 02:23:02 瀏覽:781
安卓手機如何有蘋果的emoji 發布:2025-02-09 02:11:02 瀏覽:808