На диалоговом окне повешен TabControl с именем IDC_TAB1, которой соответствует переменная m_ctrTab. На этом TabControl-е находятся две вкладки CPage1 и CPage2, которым соответствуют надписи "первая вкладка" и "вторая вкладка". Соответствующий код приведён в функции CMyProjectDlg::OnInitDialog :
TC_ITEM TabItem;
TabItem.mask = TCIF_TEXT;
TabItem.pszText = L"первая вкладка";
m_ctrTab.InsertItem(0,&TabItem);
TabItem.pszText = L"вторая вкладка";
m_ctrTab.InsertItem(1,&TabItem);
CPage1* pPage1; // первая вкладка
pPage1 = new CPage1;
TabItem.mask = TCIF_PARAM;
TabItem.lParam = (LPARAM)pPage1;
m_ctrTab.SetItem(0,&TabItem);
VERIFY(pPage1->Create(CPage1::IDD,&m_ctrTab));
pPage1->SetWindowPos(NULL,10,30,0,0,SWP_NORESIZE|SWP_NOZORDER);
pPage1->ShowWindow(SW_SHOW);
CPage2* pPage2; // вторая вкладка
pPage2 = new CPage2;
TabItem.mask = TCIF_PARAM;
TabItem.lParam = (LPARAM)pPage2;
m_ctrTab.SetItem(1,&TabItem);
VERIFY(pPage2->Create(CPage2::IID,&m_ctrTab));
pPage2->SetWindowPos(NULL,10,30,0,0,SWP_NOSIZE|SWP_NOZORDER);
pPage2->ShowWindow(SW_HIDE);
После этого кода в этой же функции я добавил следующее:
LOGFONT lf;
lf.lfHeight = 12;
lf.lfWeight = 700; // жирный шрифт
CFont m_Font;
m_Font.CreateFontIndirectW(&lf);
GetDlgItem(IDC_TAB1)->SetFont(m_Font);
В результате чего надписи "первая вкладка" и "вторая вкладка" на вкладках стали жирными (как я и хотел), но они отображаются не полностью--то есть отображаются надписи "первая вкла" и "вторая вкла".
Как сделать так, чтобы эти надписи на вкладках отображались полностью при жирным шрифте?
1613 г. = 2024 г.
1613 г. = 2024 г.
1613 г. = 2024 г.
Мой код:
m_ctrTab.SetItemSize(CSize(20,20));
m_ctrTab.SetPadding(CSize(30,5));
TC_ITEM TabItem;
TabItem.mask = TCIF_TEXT;
TabItem.pszText = L"Первая вкладка";
m_ctrTab.InsertItem(0,&TabItem);
TabItem.pszText = L"Вторая вкладка";
m_ctrTab.InsertItem(1,&InsertItem);
(То есть я перед своим кодом по установке закладок для CTabCtrl написал две строки:
m_ctrTab.SetItemSize(CSize(20,20));
m_ctrTab.SetPadding(CSize(30,5));
)
У меня в заголовках обеих вкладок после надписей остаётся ещё достаточно пространства. Я пытался экспериментирвоать с m_ctrTab.SetItemSize, но результат был всё равно один и тот же--на заголовках вкладок всё равно остаётся пространство.
Можно ли сделать так, чтобы заголовки вкладок заканчивались сразу после окончания надписей на них, и если да, то как это сделать?
1613 г. = 2024 г.