假設我現在的程式界面有10個編輯框,10個編輯框通過讀取一個檔案各顯示不同的內容。現在我要實作改變其中一個或者幾個編輯框的內容,并通過一個按鈕將其改變的內容寫入到原來讀取資料的檔案中。
現在問題是如何識別哪個或者哪幾個內容改變的編輯框并將其寫入到檔案中,而不用每次改變時將10個編輯框內容都寫入到檔案中。
求指教!謝謝!!
uj5u.com熱心網友回復:
自己比較吧。。。uj5u.com熱心網友回復:
請問如何比較呢?
uj5u.com熱心網友回復:
檔案不支持隨機插入和洗掉,你需要將所有編輯的內容寫入檔案中,你寫入的同時需要同樣清除原來的檔案內容。uj5u.com熱心網友回復:
是的,我寫入的內容就是要替換掉檔案中原來的內容
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
將這一組按鈕的ID搞成連續的,然后映射同一個訊息,搜索一下ON_COMMAND_RANGEuj5u.com熱心網友回復:
文本框的改變事件好像叫ON_CHANGE回應這個訊息就闊以了uj5u.com熱心網友回復:
因為檔案不能隨機寫入,那么既然要全部寫入, 那什么不獲取全部內容, 直接寫入, 還要那么復雜的判斷哪個改變了, 去寫入.
實在判斷, 就這樣的邏輯
程式啟動時, 第一次加載資料后, 就保存每個編輯框內容到記憶體中(每個編輯框定義一個CString變數保存其中的值).
當點擊保存按鈕時, 獲取每個編輯框的值, 與保存在CString中的值比較, 有沒有變化. 然后做保存作業
再把當前最新值更新到CString變數中.
如此回圈.
uj5u.com熱心網友回復:
不明白你的意思,可以給出代碼說明一下嗎
uj5u.com熱心網友回復:
ON_CONTROL_RANGE(EN_CHANGE, IDC_EDIT_SHIFT, IDC_EDIT_SPEED,OnEnChange)uj5u.com熱心網友回復:
這是文本框事件中的一個訊息,當文本內容改變時會出現此訊息,只要有訊息回應中處理即可。
如果用2個位元組,為你的10個框做一個變動表,對應位為“0”表示無變動,發生變動時,在回應函式中置位相應的位,最后只要判斷一下,如果變動表為“0”說明無變動,大于“0”說明有變動,再接位值重寫“1”對應框的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/128908.html
標籤:界面
