我已閱讀here(當用戶選擇一個編輯控件,....並使用反向視頻突出顯示其文本),如果我理解正確,CEdit應該突出顯示(我希望它當我點擊它時,就和select一樣)文本。CMFCPropertyGridProperty和CEdit文本自動選擇
我使用CMFCPropertyGridCtrl和CMFCPropertyGridProperty。但是當我點擊網格(一個屬性值)時,它不會選擇任何東西。
我發現了什麼:屬性創建內部CEdit,這是手動編輯屬性值。它被創建,它的字體被設置等。然後SetFocus被調用,然後UpdateWindow--重新繪製編輯框並在第一個字符之前設置光標。在此之後,再次引發鼠標點擊編輯框 - 這似乎是正確的。但沒有選擇文字。
我也嘗試創建自己的屬性類,它從CMFCPropertyGridProperty派生。所有這些之後我都打電話給SetSel。它真的選擇了我的文本,但它只是取消選擇它(在下一次重繪)。我也取得的成就是,重繪後只有文本從開始到鼠標點擊被選中(當我點擊第4個字符後,只有前4個字符被選中)。
我的問題:
是否應CEdit的真正選擇後第一個鼠標點擊automaticaly文字? (你有一些資源嗎?)
難道你不知道,爲什麼這不工作在CMFCPropertyGridProperty?
CMFCPropertyGridCtrl和CMFCPropertyGridProperty可以在mfc源代碼目錄下的afxpropertygridctrl.h/.cpp中找到。