關於視窗中TopMost屬性的乙個問題

2021-04-14 23:45:12 字數 683 閱讀 6266

在開發乙個自定義下拉控制項時,由於需要的是乙個可調整尺寸的彈出視窗,因此使用了動態生成視窗的方法,在控制項的構造過程中生成了乙個視窗。在顯示下拉列表時顯示該視窗,並使用bringtofront()方法將視窗顯示在前方。控制項功能正常。

使用了一段時間後,使用者要求增加類似ie位址列那樣的自動完成功能。即在文字框中輸入資料時,彈出視窗並在列表中自動定位匹配的條目,回車確認後自動選擇該條目。在增加此功能的過程中,我遇到了乙個問題,那就是由於下拉列表與輸入資料的文字框不在同乙個視窗,一旦輸入資料並在列表中找到該記錄,並將該記錄設定為選中狀態,文字框就會失去焦點,這顯然是不行的,還要使用focus()將文字框設定焦點。

問題這時出現了,一旦文字框得到焦點,下拉列表視窗顯示到當前自定義下拉控制項所在視窗的後面去了。為了解決這個問題,我使用了視窗的topmost屬性將視窗設定為頂層。

public

calss comboex

public

calss comboex

...private

void

showlist()

...}

我不知道為什麼會這樣,按理生成該視窗時設定了這個屬性就應該起作用,象在工程開發時新增的視窗物件,一設定了這個屬性後,顯示時就看到效果了。而這次就不行了,難道是因為這個視窗是動態生成的原因,我對系統底層不是很了解,能力也有限,無法找到答案。只好記錄下來,希望對大家有些幫助。

資料視窗中的DATA屬性以及批量複製資料

資料視窗被譽為sybase 的專利技術,以其與資料庫通訊簡單,資料操作簡單,以及方便製作各式複雜報表而著稱。在使用過程中我們需要大量的複製資料,從乙個資料視窗到另乙個資料視窗。這時我們可以使用的技術有如下幾種 一 rowscopy 遵循兩個資料視窗物件中的列個數 名稱 型別 順序一致的原則。二 ro...

VS2010裡屬性視窗中的生成操作

無,編譯 內容 嵌入的資源.分別是什麼意思?如果是類.cs檔案,就得編譯之後你才能使用的。如果是txt,excle這種檔案,就屬性內容或者資源檔案了。visual studio檔案屬性 無,編譯,內容,嵌入的資源 生成操作 buildaction 屬性 buildaction 屬性指示 visual...

MFC在子視窗中輸入資料在其他視窗中的資料傳輸

第一種方法 子視窗中將輸入資料儲存在建立的檔案中,在其他視窗讀取檔案內容 第二種方法 子視窗標頭檔案中加入 cstring inputaccount 子視窗.cpp檔案函式dodataexchange中加入 ddx text pdx,idc combo1,inputaccount 將控制項輸入資料與...