Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

Как скрыть у TabControl вкладки?   Найти похожие ветки 

 
BaryV   (2005-11-22 15:49) [0]

Кто подскажет, как скрыть у TabControl вкладки
Заранее спасибо


 
BaryV   (2005-11-22 16:23) [1]

Ну конечно для KOL :-)


 
ECM ©   (2005-11-22 17:47) [2]

Если Вы по вкладками имели ввиду кнопки переключения страниц, то
заставить скрыть вкладки TabControl "самостоятельно" - не получится, но можно прибегнуть к такому трюку:
Перевести вкладки вниз (tcoBottom = TRUE) и обрезать регион отрисовки.
Примерно так:

var
 Rgn: HRGN
...
   Rgn := CreateRectRgn(0,4,TabControl1.Width-1,TabControl1.Height-22);
   SetWindowRgn(TabControl1.GetWindowHandle,Rgn,TRUE);


Если вкладки - это страницы - ИМХО: надо их (страницы) удалять, а при необходимости показа вставлять обратно...


 
Vladimir Kladov   (2005-11-22 19:06) [3]

Правильнее использовать TC_DisplayRect, он возвращает координаты прямоугольника, который и должен остаться после обрезки.


 
z007   (2005-11-22 22:42) [4]

А еще можно создать для tabContorl событие OnPaint и ничего в нем не отрисовывать:
procedure TForm1.TabControl1Paint(Sender: PControl; DC: HDC);
begin
//
end;

Но [2] + [3], конечно, правильней :)


 
BaryVetaL ©   (2005-11-23 10:41) [5]

Да просто хочется сделать что-то вроде связки TreeView + TabControl (наподобие окно настройки в LightAlloy или TotalCommander) ну типа щелкаешь в TreeView и в зависимости от выбранной строки появляется нужная вкладка. Я все это сделал, а вот вкладки выглядят ни к месту ведь TreeView есть ...

Еще раз спасибо.


 
-=Mike=-   (2005-11-23 14:24) [6]

По моему в данном случае не стоит связываться с TabControl.
Почему просто не наляпать панелей друг на друга и делать BringToFront.
Ложим главную панель, а на нее панели с элементами управления. Делаем у них Align=caClient.
Получилось очень просто:

 TVItem:= TreeView1.TVInsert( 0, 0, "Пункт 1" );
 TreeView1.TVItemData[TVItem]:= Panel1;

 TVItem:= TreeView1.TVInsert( 0, TVItem, "Пункт 2" );
 TreeView1.TVItemData[TVItem]:= Panel2;

 TVItem:= TreeView1.TVInsert( 0, TVItem, "Пункт 3" );
 TreeView1.TVItemData[TVItem]:= Panel3;

....

procedure TForm1.TreeView1Change(Sender: PObj);
begin
 TKOLPanel(TreeView1.TVItemData[TreeView1.TVSelected]).BringToFront;
end


 
ECM ©   (2005-11-23 15:59) [7]


> По моему в данном случае не стоит связываться с TabControl

ИМХО: Наоборот... Мне, лично, больше нравится использовать в этом случае
TabControl - при большом количестве панелей гораздо легче что-то исправлять в design-time. В Вашем случае - получается слишком много телодвижений надо выполнить, чтобы добраться до нужной панели, для редактирования... (повоторюсь - это ИМХО и только для MCK)



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
15-1157019915
Idiot
2006-08-31 14:25
2006.09.24
Есть ли что то на подобе процедуры VAL в БД ....


15-1156957163
Chort
2006-08-30 20:59
2006.09.24
Проблема с Рабочим столом!


4-1148203435
bober
2006-05-21 13:23
2006.09.24
Ошибка во время выполнения потока


15-1157435937
sanilo
2006-09-05 09:58
2006.09.24
Программы для рассылки факсов


15-1157543985
Карелин Артем
2006-09-06 15:59
2006.09.24
1 зарядка на 4 сотовых разных фирм.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский