Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.27.232] |
|
Сообщ.
#1
,
|
|
|
Как выпровнять закладки в TTabControl вправо?
|
Сообщ.
#2
,
|
|
|
Могу посоветовать, но только в терминах WinApi. И к тому же, мне непонятно почему эта статья уехала сюда из раздела C/C++ ? (Это к purpe).
А чего вправо, то? Я делаю закладки равномерные на всю длину диалога. Смотрится бездато. 1) В редакторе ресурсов устанавливаешь для своего TabControla Alignment в Fixed Width. Т.е. все закладки будут одного размера. 2) при инициализации диалога в виндовой функции в WM_INITDIALOG вписываешь примерно такой текст (привожу его для трех закладок) для своего количества сообразишь по аналогии. TC_ITEM tci; static HWND hTab; RECT RectTab; int TWidth,THeight; // Это в WM_INITDIALOG hTab=GetDlgItem(hwnd,IDT_SYSTAB);// Получим хандле ТабКонтрола memset(&tci,0,sizeof(TC_ITEM)); tci.mask=TCIF_TEXT; tci.iImage=-1; tci.pszText="О программе"; TabCtrl_InsertItem(hTab,1,&tci); tci.pszText="Журнал"; TabCtrl_InsertItem(hTab,1,&tci); tci.pszText="Работа"; TabCtrl_InsertItem(hTab,1,&tci); // Получим размеры закладки if(TabCtrl_GetItemRect(hTab,1,&RectTab)) THeight=RectTab.bottom-RectTab.top; else THeight=21; // Цифра получена подбором RectTab.left=3;RectTab.top=0;RectTab.right=317;RectTab.bottom=180;//Мои диалоговые координаты TabCtrl MapDialogRect(hwnd,&RectTab);// Преобразуем в пикселы // Вычислим длинну одной из трех закладок TWidth=(int)((RectTab.right-RectTab.left)/3 - 1); TabCtrl_SetItemSize(hTab,TWidth,THeight); // Вводится для первого показа диалога Hello if(hTab) hDlg=CreateDialog(hInst,MAKEINTRESOURCE(DIALOG_HELLO),hTab,(DLGPROC)Hello); И закладочки будут ровненько на весь диалог. |