MFC對話方塊自適應導致下拉框無法下拉問題的解決

2021-09-13 11:21:33 字數 642 閱讀 9056

最近需要把乙個mfc對話方塊程式嵌進qt介面中,mfc對話方塊中有許多下拉框控制項。當qt介面大小發生變化時,mfc介面也會相應的作自適應。但結果就是,下拉框全部拉不下來。

造成這個現象的原因就是,在寫自適應的時候我們改變了下拉框的高度,實際上是不能改變的。網上也沒有可靠的解決方法。

我的做法就是,遍歷控制項改變他的位置,如果遇到下拉框就只改變其寬度,不改變其高度。

看**:

//儲存原對話方塊大小

crect m_rect;

//初在始化中

getclientrect(&m_rect);

void cmydialog::changecontrolsize( cwnd* pwnd, int x, int y )

; if (getclassname(pwnd->m_hwnd, szclass, 64) && _tcsicmp(szclass, _t("combobox")) == 0)

else

pwnd->setwindowpos(null, rect.left, rect.top, rect.width(), rect.height(), swp_nozorder | swp_showwindow); }

}

MFC控制項跟隨對話方塊自適應大小

對話方塊的大小變化後,假若對話方塊上的控制項大小不變化,看起來會比較難看。下面就介紹怎麼讓對話方塊上的控制項隨著對話方塊的大小的變化自動調整。首先明確的是windows有乙個wm size訊息響應函式,這個函式在對話方塊大小發生變化的時候呼叫,所以我們可以記錄下原來對話方塊的大小,還有當前對話方塊的...

mfc 子對話方塊控制父對話方塊 MFC對話方塊構架程式

遺憾的是 從來沒有被堅定選擇過,就像是,他只是剛好需要,你只是剛好在。網易雲熱評 一 對話方塊架構分類 1 模式對話方塊,彈出來不能進行其他操作 2 無模式對話方塊,彈出來後可以進行其他操作 二 新建win32應用程式 模式對話方塊 1 建立 2 修改屬性 3 新增dialog資源 4 包含標頭檔案...

MFC 對話方塊

1 建立對話方塊模板,設定對話方塊屬性 cadditionddlg 主對話方塊類 顯示的主要介面 addition的資源樹 4個子項 dialog 對話方塊 含有2個對話方塊模板 id為idd aboutbox 關於對話方塊模板 idd addtion dlalog 主對話方塊模板 lcon 圖示 ...