先前說句實話,對于VC 6的圖形界面編程真的不懂,很多東西都不知道,拿到這本書,還不知道怎么做?你會說我很傻吧,好,我承認,因為上面沒有手把手的教你你VC6,所以,很多東西都是自己瞎弄出來的,這里寫這么多的總結,一則怕不用就忘了,二則,也是總結學些的體會吧。
先說說這個東西吧。小界面,兩個EditBox,一個是用戶名,一個是密碼,然后點擊登陸,就比較賬號和密碼,看是不是和設定的一致,如果不一致,則輸出信息,如果沒有輸入部分,則提示,如果錯誤,也提示錯誤信息。
先看看核心代碼:
void CTest12Dlg::OnLoad()


{
// TODO: Add your control notification handler code here
CString str;
UpdateData(TRUE);
if((strcmp(m_name,"張三")==0)&&(strcmp(m_password,"112")==0))
str = "密碼正確,OK!";
else if((strcmp(m_name,"")==0)||(strcmp(m_password,"")==0))
str = "請輸入用戶名或密碼!";
else
str = "用戶名或密碼錯誤!";
MessageBox(str);
}
很簡單,就是比較,然后設置str,最后輸出即可。
關鍵的一點就是那個UpdateData(TRUE),這里的這個函數OnLoad就是點擊那個Button時響應的函數,于是每次UpadateData就是為了將控件的內容保存到變量中。現在的問題是,如何將控件和變量關聯呢?
這個之前的一個程序也遇到過,不過由于沒有操作,不知道,這里就曬曬。(見圖:)

在這個上面,添加變量的按鈕在右邊,上面點擊,就可以為這兩個IDC_EDIT1和IDC_EDIT2添加相關聯的變量了,這里選擇的類型是CString,那么變量的內容就保存在CString中,對于的變量名也就是你設置的那樣。
而后面的代碼,也就是你的那個Demo中可以隨意的改變的,任何更改,在你點擊Button的時候,都會有上面的UpdateData函數來實現寫入變量中,于是,只需要比較和既定的相同的就可以了。。
還有最后一點就是:如何讓那個EditBox顯示出來那個“******”,也就是使得出現隱藏你輸入的目的呢?
很簡單,EditBox的屬性設置為Password就OK了。。
(附記:在編寫的過程中,也漸漸的了解了編譯器到底為我做了些什么,其實,將控件和變量關聯,就是做了一個映射,DoDataExchange函數就是實現這個功能的部分,前面做的一個例子失敗的時候,通過比對代碼,發現就是沒有將其關聯,于是這里就明白了。原來是這么回事,從而也加深了學習的興趣!)
又完成了一個。 下載地址:
http://www.pudn.com/detail.asp?id=1059852
posted on 2010-02-05 21:14
deercoder 閱讀(486)
評論(0) 編輯 收藏 引用