Главная страница
    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
2-1157009093
Yegorchic
2006-08-31 11:24
2006.09.24
Многострочные Item ы в ListView


2-1157444822
Jenny
2006-09-05 12:27
2006.09.24
C чего начать написания сетевой базы данных


2-1157092004
Alex_KV
2006-09-01 10:26
2006.09.24
Про DynArray и исключения


2-1157430879
nstur
2006-09-05 08:34
2006.09.24
Перемещение формы не используя заголовок


2-1157266025
Mozgan
2006-09-03 10:47
2006.09.24
Случайные числа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский