Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Как скрыть у 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 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.038 c
9-1133562554
Proger
2005-12-03 01:29
2006.09.24
Воксели в играх...?


15-1156420900
isasa
2006-08-24 16:01
2006.09.24
Star Force Protection - как снести этого монстра?


2-1157483491
Серый
2006-09-05 23:11
2006.09.24
Базы данных


2-1157617630
newbie2
2006-09-07 12:27
2006.09.24
Как объект передать через интовую переменную?


2-1157095583
Троль
2006-09-01 11:26
2006.09.24
использование Dll из ресурса





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