生活和工作都要充滿激情,否則你無法體會到淋漓盡致的快樂與痛苦
在MFC中我們常常要把一些變量于控件對應(yīng)起來! 并通過UpdateDate來實調(diào)用DoDataExchange(CDataExchange* pDX)實現(xiàn)變量信息交換!如:DDX_Text(pDX, IDC_STATICCOUNT, m_sCount); --> value對應(yīng)把控件ID為IDC_STATICCOUNT的控件與m_sCount變量對應(yīng)起,用UpdateDate(TRUE)來把IDC_STATICCOUNT控件數(shù)據(jù)寫到m_sCount; 用UpdateDate(FALSE)把m_sCount數(shù)據(jù)讀寫到IDC_STATICCOUNT控件; DDX_Control(pDX, IDC_BSTARTTIME, m_cStartTime);有盡有-->control把控件ID為IDC_BSTARTTIME的控件與m_sCount變量對應(yīng)起,如BUTTON。此時我們可以通過m_cStartTime控件變量改變對應(yīng)控件狀態(tài)!m_cStartTime.EnableWindow(FALSE); 可以改變控件是否可用!如果沒有control對應(yīng),那么我們可以使用等價語句:GetDlgItem(IDC_BSTARTTIME)->EnableWindow(TRUE);所以使用控件變量將很大的方便我們寫P!2 關(guān)于mouse按鍵的判斷當(dāng)我們在開發(fā)程式的時候,都要有個交互的過程,那么這里一要用的mouse,然而我們?nèi)绾伟l(fā)現(xiàn)個健被按下呢!
些是我們可以通過nFlag來斷定那個健被按下!nFlag是一個UINT的變量,它的每一個bit都代表一定的意思!MK_CONTROL Set if the CTRL key is down.MK_LBUTTON Set if the left mouse button is downMK_MBUTTON Set if the middle mouse button is downMK_RBUTTON Set if the right mouse button is downMK_SHIFT Set if the SHIFT key is down. 我們只要用nFlag & MK_KEYBUTTON, 如果非0這個健就被按下了, 我們不作if ((nFlag & MK_KEYBUTTON) == MK_KEYBUTTON), 這樣可以使其更加的簡捷!實際上用&標記來簡化if語句,這樣可以置位,可以得到一個正值,否則是0還有一點要注意,在onKeyDown中,WM_KEYDOWN事件只經(jīng)你傳遞大寫字母,而shift,caps loc是通過分開代碼健被傳,如果要區(qū)分大小寫,你必須判斷其是否被按下!
Copyright Copyright T.S Liu