2011-11-21 133 views

回答

0

不知道最優雅的方式是什麼,但我想做到這一點,最常見的方式是讓一個派生類,並重寫的onSetFocus(確切的方法名未選中),並調用SetCurSel()上包含的編輯控件。 WM_FOCUS只發送給控件,並且沒有通知消息,所以除了做一些讓控件處理事件的東西之外,你沒有太多的選擇 - 不管它是否反映到其他地方,或者只是實現行爲本身。 (我想理論上可以通過攔截郵件來做各種各樣的挑剔,但這絕不是最優雅的方式......)

0

這應該是標準編輯控件的默認行爲。如果不是,其他的東西就是明確地去除這種行爲。也許你可以找到一些你可以在組合框按鈕上設置的標誌?

如果不是:編輯控件的子類,則處理WM_GETDLGCODE消息。用DLGC_HASSETSEL返回值OR。如果控件設置了此標誌,則Windows將自動選擇所有焦點文本。