看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) Win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) VC++ 2017 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我用了兩個Dialog,程式本身是Dialog base的,另外又在Tab裡面使用Dialog, 可是現在卻不知道如何對Tab中的Combobox作控制,試了幾個方法還是會error 煩請大神幫忙,謝謝 餵入的資料(Input): pTab1Combo->InsertString(0, ss); 預期的正確結果(Expected Output): 應該要出現字串 錯誤結果(Wrong Output): 程式錯誤 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) OnInitDialog(): { .... m_Tab.InsertItem(0, _T("1台目")); m_Tab.InsertItem(1, _T("2台目")); m_TabPage1.Create(IDD_DIALOG1, &m_Tab); m_TabPage2.Create(IDD_DIALOG1, &m_Tab); CRect rTab, rItem; m_Tab.GetItemRect(0, &rItem); m_Tab.GetClientRect(&rTab); int x = rItem.left; int y = rItem.bottom + 1; int cx = rTab.right - rItem.left - 3; int cy = rTab.bottom - y - 2; int tab = m_Tab.GetCurSel(); m_TabPage1.SetWindowPos(NULL, x, y, cx, cy, SWP_HIDEWINDOW); m_TabPage2.SetWindowPos(NULL, x, y, cx, cy, SWP_HIDEWINDOW); switch (tab) { case 0: m_TabPage1.SetWindowPos(NULL, x, y, cx, cy, SWP_SHOWWINDOW); break; case 1: m_TabPage2.SetWindowPos(NULL, x, y, cx, cy, SWP_SHOWWINDOW); break; } TraySetIcon(IDR_MAINFRAME); TraySetToolTip("Aloha Tool"); TraySetMenu(IDR_MENU1); TraySetMinimizeToTray(TRUE); ShowWindow(SW_MINIMIZE); PostMessage(WM_SYSCOMMAND, SC_MINIMIZE); ... } void CCTIDlg::OnNMClickTab1(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: ここにコントロール通知ハンドラー コードを追加します。 CTabCtrl * pTab = (CTabCtrl*)GetDlgItem(IDC_TAB1); CComboBox* pTab1Combo = (CComboBox*)GetDlgItem(IDC_COMBO1); int n = pTab->GetCurSel(); CString ss; ss.Format("COM3"); switch (n) { case 0: m_TabPage1.GetDlgItem(IDC_COMBO1); m_TabPage1.SendDlgItemMessageA(""); pTab->SetCurSel(0); pTab1Combo->ResetContent(); pTab1Combo->InsertString(0, ss); pTab1Combo->SetCurSel(0); break; case 1: pTab->SetCurSel(1); break; case 2: pTab->SetCurSel(2); break; default: break; } *pResult = 0; } 補充說明(Supplement): -- I see you when I see you! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.110.207.51 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1533031859.A.601.html
Schottky: pTab1Combo->InsertString(0, _T("COM3")); 08/01 05:43
bamchisu: 謝謝,但是好像沒用。 08/01 09:24