powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите отобразить CTabCtrl
2 сообщений из 2, страница 1 из 1
помогите отобразить CTabCtrl
    #33386635
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!
У меня не получается отобразить закладки в диалоговом окне.
Я сделал так:
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;
}
}


В общем все как нашёл в инете, но закладки всё равно не отображаются.
Заранее большое спасибо!
...
Рейтинг: 0 / 0
помогите отобразить CTabCtrl
    #33480255
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаги 203 и 316 в www.firststeps.ru Пробовал сам. Все получается.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите отобразить CTabCtrl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]