控制項變數的使用及原理

2021-06-07 01:25:12 字數 1441 閱讀 3132

在mfc中我們常常要把一些變數於控制項對應起來! 並通過updatedate來實呼叫dodataexchange(cdataexchange* pdx)實現變數資訊交換!

如:ddx_text(pdx, idc_staticcount, m_scount); --> value對應

把控制項id為idc_staticcount的控制項與m_scount變數對應起,

用updatedate(true)來把idc_staticcount控制項資料寫到m_scount;

用updatedate(false)把m_scount資料讀寫到idc_staticcount控制項;

ddx_control(pdx, idc_bstarttime, m_cstarttime);有盡有-->control

把控制項id為idc_bstarttime的控制項與m_scount變數對應起,如button。

此時我們可以通過m_cstarttime控制項變數改變對應控制項狀態!

m_cstarttime.enablewindow(false); 可以改變控制項是否可用!如果沒有control對應,

那麼我們可以使用等價語句:getdlgitem(idc_bstarttime)->enablewindow(true);

所以使用控制項變數將很大的方便我們寫p!

2 關於mouse按鍵的判斷

當我們在開發程式的時候,都要有個互動的過程,那麼這裡一要用的mouse,然而我們如何發現個健被按下呢!

void cmousedlg::onmousemove(uint nflags, cpoint point)

cdialog::onmousemove(nflags, point);

}些是我們可以通過nflag來斷定那個健被按下!

nflag是乙個uint的變數,它的每乙個bit都代表一定的意思!

mk_control    set if the ctrl key is down.

mk_lbutton     set if the left mouse button is down

mk_mbutton    set if the middle mouse button is down

mk_rbutton    set if the right mouse button is down

mk_shift           set if the shift key is down.

我們只要用nflag & mk_keybutton, 如果非0這個健就被按下了, 我們不作

if ((nflag & mk_keybutton)  == mk_keybutton), 這樣可以使其更加的簡捷!實際上用&標記來簡化if語句,這樣可以置位,可以得到乙個正值,否則是0

還有一點要注意,在onkeydown中,wm_keydown事件隻經你傳遞大寫字母,而shift,caps loc是通過分開**健被傳,如果要區分大小寫,你必須判斷其是否被按下!

memcached 的使用及原理

overview 什麼是memcached?memcached是國外社群 livejournal 的開發團隊開發的高效能的分布式記憶體快取伺服器。一般的使用目的是,通過快取資料庫查詢結果,減少資料庫訪問次數,以提高動態web應用的速度 提高可擴充套件性。livejournal 團隊開發了包括 mem...

xFermode的原理及使用

xfermode是畫筆的乙個屬性,有點類似於ps中的圖層,有乙個底層圖層,和乙個頂層圖層,通過兩個圖層疊放層次的不同,可以做出很多好玩的效果。谷歌官方的apidemo中生成了兩個圖層的各種疊放次序效果 是不是有點摸不著頭腦,讓我們列個 來解釋一下吧 屬性名屬性常量 屬性說明 clear porter...

token的原理及使用

一 登陸的驗證流程 當使用者請求登陸的時候,如果沒有問題,我們在服務端生成一條記錄,這個記錄可以說明一下登陸的使用者是誰,然後把這條記錄的id號傳送給客戶端,客戶端收到以後把這個id號儲存在cookie裡,下次這個使用者再次向服務端發 送請求的時候,可以帶著這個cookie,這樣服務端會驗證乙個這個...