[問題] MFC傳HANDLE控制控件

看板C_and_CPP (C/C++)作者 (憶秋風痕)時間14年前 (2011/10/03 19:30), 編輯推噓3(308)
留言11則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 標題實在不知道怎麼下(汗) 若有誤解請見諒 個人有一個問題 在做MFC的視窗程式時總會拉一些控件(EX: combobox, editbox等) 這算是突發奇想 如果我有一個副程式,我能不能傳該控件的handle,然後在副程式裡面做操作 例如: 一個列舉Com port的程式 我拉了一個combobox元件(m_combobox) 但實際上InsertString的動作我想要在副程式裡面執行 Void GetComList(Handle hComboBox)<- hComboBox為m_combobox的HANDLE { CCombobox cCombo; 我想要在這邊將m_combobox與cCombo做映射  讓我在這邊對cCombo的動作就好像在直接對m_combobox作操作一樣 ex: cCombo.InsertString() 執行後 m_combobox上就多加了這個項目 } 會有這種想法的原因是因為com port的程式還蠻常用的 可是新的專案又要重新取代新的combobox變數名稱 想說能不能用變數傳遞的方式 不曉得各位看不看得懂 若不能做到的話有什麼其他方式能做到小弟想要的結果呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.144.160

10/03 19:33, , 1F
實際試試就知道囉?
10/03 19:33, 1F

10/03 19:42, , 2F
傳 CB_ADDSTRING 訊息就好,任何 ComboBox 都隨你新增項目
10/03 19:42, 2F

10/03 19:42, , 3F
MFC 也只是把傳訊息的動作包裝起來而已
10/03 19:42, 3F

10/03 19:43, , 4F
MSDN 又改版了,真是多屎多尿
10/03 19:43, 4F
可行,感謝 想請問 我有想過用sendmessage,可是不曉得傳什麼訊息 在MSDN要怎麼搜尋呢?(我是搜尋CCombobox,出來的是他的class) ※ 編輯: isohogon 來自: 118.161.144.160 (10/03 19:59)

10/03 21:02, , 6F
.......\VC\atlmfc\include\afxwin2.inl 原始碼在這呢
10/03 21:02, 6F

10/03 21:03, , 7F
我在想, 那麼多點目錄會到哪裡去
10/03 21:03, 7F

10/12 09:42, , 8F
CComboBox* cb = (CComboBox*)CWnd::FromHandle(handle);
10/12 09:42, 8F

10/12 09:43, , 9F
另外,其實直接把CComboBox的reference傳進去就好了
10/12 09:43, 9F

10/12 09:43, , 10F
不需要特別使用handle的方式... :)
10/12 09:43, 10F

10/12 09:44, , 11F
void GetComList(CComboBox& comboBox)
10/12 09:44, 11F
文章代碼(AID): #1EYPpCBL (C_and_CPP)
文章代碼(AID): #1EYPpCBL (C_and_CPP)