來自:sopper的部落格
c++控制項的資料交換和資料校驗
mfc採用了獨特的
ddx和
ddv技術。
ddx將資料成員變數同對話類模板內的控制項相連線,這樣就使得資料在控制項之間很容易地傳輸。
ddv用於資料的校驗,例如它能自動校驗資料成員變數數值的範圍,並發出相應的警告。
在類嚮導下新增成員變數的過程很簡單,需要說明的是
。在ddv
/ddx
技術中,允許使用者為同乙個控制項關聯多個資料成員變數,但必須保證這些變數名是互不相同的,且這些變數在同乙個型別不能有多個變數,即在
value
和control
型別中各自只能有乙個成員變數。
。如果新增的成員變數是乙個數值型別,則在類嚮導對話方塊的
member
variables
頁面正文還要求使用者輸入變數的範圍,這就是控制項的資料校驗設定。
新增完成成員變數後,類嚮導會在**檔案裡加入如下**
1.在標頭檔案中,新增與控制項關聯的成員變數的宣告,**:
// dialog data
//;
intm_edit;
//}}afx_data
2.在.cpp
檔案中的類建構函式實現**處,新增資料成員變數的一些初始化**
cmydlg::cmydlg(cwnd* pparent /*=null*/)
: cdialog(cmydlg::idd, pparent)
}afx_data_init
}3.在
.cpp
檔案中的
dodataexchange
函式體內,新增控制項的
ddx/
ddv**,它們都是一些以
ddv_
或ddx_
開關的函式呼叫。
void cmydlg::dodataexchange(cdataexchange* pdx)
}afx_data_map
}需要說明的是,上述**中以 「
//}afx_data
」 或 「
//}}afx_data_
」結尾的標記是類嚮導定義的專門用來做
ddx/ddvr
標記,表示該部分的**是同類嚮導自動管理,使用者一般不需要去更改。
4.當為乙個控制項定義乙個關聯的資料成員變數後,就可以使用
cwnd::updatadata
函式實現控制項的控制,包括控制項相關資料的輸入和讀取。
updatedata
(false
) 資料由控制項相關的成員變數向控制項傳輸
updatedata
(true
)或引數為空資料從控制項向相關聯的成員變數複製。
MFC 雙緩衝技術和相容DC
一 繪圖時螢幕閃爍的原因分析 螢幕閃爍的根本原因是相鄰兩幀影象之間存在的巨大差異造成的,而windows的圖形重新整理方式使得任何兩幀影象之間都存在著巨大的差異。因為windows在進行重新整理之前都會首先將整個螢幕刷成白色,就相當於在電影膠片的相鄰兩幀之間都插入了乙個白色的幀,這也就是為什麼螢幕閃...
SDK和MFC的區別
sdk 就是software development kit 軟體開發包 mfc 就是microsoft foundation classes 微軟函式類庫 mfc是對api函式的封裝,也算是vc裡的sdk 用vc編寫windows程式有兩種 1.windwos c方式 sdk 2.c 方式 即對s...
MFC的概念和作用
一 全程 microsoft foundation class library 我們稱 微軟基礎類庫 從硬碟的存在形式上來說,mfc就是乙個庫 動 靜態 從原理上說,mfc還是乙個程式的框架 作用 基於框架程序開發,提高工作效率,減少開發周期,節約開發成本 二 重要標頭檔案 afx.h 包含了mfc...