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

Вниз

Продублировать Control на двух TabSheet   Найти похожие ветки 

 
@!!ex ©   (2009-06-23 16:10) [0]

Есть PageControl содержащий несколько закладок.
На одной закладке находится TrackBar.
Заказчик буквально перед сдачей проекта захотел видеть этот TrackBar еще на двух закладках("Ррррр").
Как это проще и лучше сделать?
Все три TrackBar"a должны показвыать одно и тоже и обрабатываться одним и темже обработчиком...


 
Игорь Шевченко ©   (2009-06-23 16:13) [1]

1. Parent менять при смене табшита
2. Клонировать контролы


 
{RASkov} ©   (2009-06-23 23:50) [2]

> 1. Parent менять при смене табшита

или если они должны быть на одном и том же месте на табшитах, то ваще парент поставить, например, форму.... т.е. визуально тракбар будет на PageControl"е но при смене вкладок он будет "висеть выше".... и не реагировать на смену. Ну если только прятаться при выборе вкладки, где его не должно быть..... как-то так.


 
Игорь Шевченко ©   (2009-06-24 00:02) [3]

{RASkov} ©   (23.06.09 23:50) [2]


> то ваще парент поставить, например, форму


пробовал ?


 
{RASkov} ©   (2009-06-24 00:11) [4]

> [3] Игорь Шевченко ©   (24.06.09 00:02)

object Form1: TForm1
 Left = 196
 Top = 108
 Width = 359
 Height = 309
 Caption = "Form1"
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "MS Sans Serif"
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object PageControl1: TPageControl
   Left = 0
   Top = 0
   Width = 277
   Height = 209
   ActivePage = TabSheet1
   TabOrder = 0
   OnChange = PageControl1Change
   object TabSheet1: TTabSheet
     Caption = "TabSheet1"
   end
   object TabSheet2: TTabSheet
     Caption = "TabSheet2"
     ImageIndex = 1
   end
   object TabSheet3: TTabSheet
     Caption = "TabSheet3"
     ImageIndex = 2
   end
 end
 object TrackBar1: TTrackBar
   Left = 12
   Top = 36
   Width = 150
   Height = 45
   TabOrder = 1
 end
end


Ну и:

procedure TForm1.PageControl1Change(Sender: TObject);
begin
 TrackBar1.Visible:=PageControl1.ActivePageIndex<>1;
end;


 
Германн ©   (2009-06-24 00:38) [5]


> {RASkov} ©   (24.06.09 00:11) [4]

Неужели работает?
Лень пробовать самому. :)


 
Игорь Шевченко ©   (2009-06-24 01:33) [6]

{RASkov} ©   (24.06.09 00:11) [4]

Да, работает, но я не стал бы рекомендовать такой способ, потому как "визуально сверху" может входить в конфликт с ahchors, align и т.п. свойствами выравнивания положения дочерних контролов относительно родительских. Ну и до первого SendToBack, разумеется :)


 
{RASkov} ©   (2009-06-24 09:54) [7]

> пробовал ?


> Неужели работает?

Странные вопросы. В чем сомнения-то были? :)


> [6] Игорь Шевченко ©   (24.06.09 01:33)

По поводу якорей, выравнивания и т.д., да, согласен. Но это фича. а не глюк) Программист должен знать это.
Много окон знаю, где нет ни выравнивания, ни якорей.... даже размер не меняют. Так что данный способ для таких окон думаю подойдет)



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
15-1245914217
DVM
2009-06-25 11:16
2009.08.23
Good Quality Applications Built With Delphi


2-1245820245
novai
2009-06-24 09:10
2009.08.23
Помогите с оптимизацией кода


15-1245441575
Step
2009-06-19 23:59
2009.08.23
Служба клиент групповой политики


15-1245777535
@!!ex
2009-06-23 21:18
2009.08.23
Подскажите литературу на тему реализации Кластеров


15-1244032296
Игорь Шевченко
2009-06-03 16:31
2009.08.23
сделать для формы (фрейма, WinControl) аналог Begin/EndUpdatе