生活和工作都要充滿激情,否則你無法體會到淋漓盡致的快樂與痛苦
在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,然而我們如何發現個健被按下呢!
些是我們可以通過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事件只經你傳遞大寫字母,而shift,caps loc是通過分開代碼健被傳,如果要區分大小寫,你必須判斷其是否被按下!
Copyright Copyright T.S Liu