[問題] MFC在內嵌的Tab下如何控制Dialog中的Combobox元件

作者: bamchisu (suchi)   2018-07-31 18:10:50
開發平台(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):
作者: Schottky (順風相送)   2018-08-01 05:43:00
pTab1Combo->InsertString(0, _T("COM3"));
作者: bamchisu (suchi)   2018-08-01 09:24:00
謝謝,但是好像沒用。

Links booklink

Contact Us: admin [ a t ] ucptt.com