|
|
|
помогите отобразить CTabCtrl
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! У меня не получается отобразить закладки в диалоговом окне. Я сделал так: BOOL CDialogOptions::OnInitDialog() { m_ctrTab.Create(TCS_TABS | TCS_FIXEDWIDTH | WS_CHILD | WS_VISIBLE, rect, this, IDC_TABOPTIONS); TC_ITEM TabItem; // в нее записываются параметры создаваемой закладки memset(&TabItem,0,sizeof(TabItem)); TabItem.mask = TCIF_TEXT; // у закладки будет только текст TabItem.pszText = "Каталоги"; // название закладки m_ctrTab.InsertItem(0, &TabItem); // первая закладка имеет индекс 0 TabItem.pszText = "Формат"; m_ctrTab.InsertItem(1, &TabItem); // вставляем вторую закладку CPageOptions1* pPO1 = new CPageOptions1(); TabItem.mask = TCIF_PARAM; TabItem.lParam = (LPARAM)pPO1; m_ctrTab.SetItem(0, &TabItem); VERIFY(pPO1->Create(CPageOptions1::IDD, &m_ctrTab)); pPO1->SetWindowPos(NULL, 10, 30, 0, 0, SWP_NOSIZE | SWP_NOZORDER); pPO1->ShowWindow(SW_SHOW); CPageOptions2* pPO2 = new CPageOptions2(); TabItem.mask = TCIF_PARAM; TabItem.lParam = (LPARAM)pPO2; m_ctrTab.SetItem(1, &TabItem); VERIFY(pPO2->Create(CPageOptions2::IDD, &m_ctrTab)); pPO2->SetWindowPos(NULL, 10, 30, 0, 0, SWP_NOSIZE | SWP_NOZORDER); pPO2->ShowWindow(SW_HIDE); return false; } void CDialogOptions::OnTcnSelchangeTaboptions(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: Add your control notification handler code here int nTab = m_ctrTab.GetCurSel(); TC_ITEM tci; tci.mask = TCIF_PARAM; m_ctrTab.GetItem(nTab, &tci); ASSERT(tci.lParam); CWnd* pWnd = (CWnd *)tci.lParam; pWnd->ShowWindow(SW_SHOW); *pResult = 0; } void CDialogOptions::OnTcnSelchangingTaboptions(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: Add your control notification handler code here int nTab = m_ctrTab.GetCurSel(); TC_ITEM tci; tci.mask = TCIF_PARAM; m_ctrTab.GetItem(nTab, &tci); ASSERT(tci.lParam); CWnd* pWnd = (CWnd *)tci.lParam; pWnd->ShowWindow(SW_HIDE); *pResult = 0; } void CDialogOptions::OnDestroy() { CDialog::OnDestroy(); // TODO: Add your message handler code here CWnd* pWnd; TC_ITEM tci; tci.mask = TCIF_PARAM; for (int i = 1; i>=0; i--) { m_ctrTab.GetItem(i, &tci); ASSERT(tci.lParam); pWnd = (CWnd *)tci.lParam; pWnd->DestroyWindow(); delete pWnd; } } В общем все как нашёл в инете, но закладки всё равно не отображаются. Заранее большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 12:54 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=376&tid=2032152]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 386ms |

| 0 / 0 |
