| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Динамические PageControl и TabSheet
Вариант 1 var t: ttabsheet; p: tpagecontrol; begin // Создаем pagecontrol // При создании получаем ссылку на pagecontrol, чтобы в дальнейшем на него ссылаться. p := tpagecontrol.create(application); with p do begin parent := form1; // устанавливаем его как элемент управления формы. top := 30; left := 30; width := 200; height := 150; end; // with tpagecontrol // Создаем 3 страницы t := ttabsheet.create(p); with t do begin visible := true; // Это необходимо, или форма не будет корректно перерисовываться caption := 'Страница 1'; pagecontrol := p; // Назначаем tab в page control end; // with t := ttabsheet.create(p); with t do begin visible := true; // Это необходимо, или форма не будет корректно перерисовываться caption := 'Страница 2'; pagecontrol := p; // Назначаем tab в page control end; // with t := ttabsheet.create(p); with t do begin visible := true; // Это необходимо, или форма не будет корректно перерисовываться caption := 'Страница 3'; pagecontrol := p; // Назначаем tab в page control end; // with // Создаем 3 кнопки, 1 на страницу with tbutton.create(application) do begin parent := p.pages[0]; // "Указываем" кнопке родительскую страницу caption := 'Привет, страница 1'; left := 0; top := 0; end; // with with tbutton.create(application) do begin parent := p.pages[1]; // "Указываем" кнопке родительскую страницу caption := 'Привет, страница 2'; left := 50; top := 50; end; // with with tbutton.create(application) do begin parent := p.pages[2]; // "Указываем" кнопке родительскую страницу caption := 'Привет, страница 3'; left := 100; top := 90; end; // with // Это должно быть сделано, или tab первоначально не синхронизируется // с правильной страницей. Только в случае, если у вас более чем одна страница. p.activepage := p.pages[1]; p.activepage := p.pages[0]; // Реально показываемая страница end; Вариант 2 В данном документе показана технология динамического добавления страниц компонента pagecontrol (объектов ttabsheet) к элементу управления windows 95/nt pagecontrol (объект tpagecontrol). Оба этих объекта объявлены в модуле comctrls. Поэтому убедитесь в том, что comctrls указан в списке используемых модулей. Как динамически создать pagecontrol Прежде, чем мы приступим к динамическому созданию страниц, давайте динамически создадим pagecontrol (если он еще не на форме). Это делается посредством вызова конструктора tpagecontrol create с параметром owner, равным self. Конструктор create возвращает объектную ссылку на вновь созданный объект pagecontrol и назначает его переменной 'pagecontrol'. Вторым шагом будет установка свойства pagecontrol parent в self. Свойство parent определяет где должен быть отображен новый pagecontrol; в нашем случае это будет сама форма. Вот кусок кода, демонстрирующий вышесказанное:
var Как динамически создавать закладки Существует два основных способа добавления новых страниц к pagecontrol. Сначала вы должны динамически создать ttabsheet следующим образом:
var Затем ему необходимо присвоить заголовок следующей командой:
tabsheet.caption := 'Закладка 1';
tabsheet.pagecontrol := pagecontrol; Ключевым моментом при создании и размещении элемента управления на странице tabsheet является назначение свойства parent на переменную-ссылку класса ttabsheet. Вот пример:
var Полный код примера
// Код использует форму с единственной на ней кнопкой. Источник: delphiworld Рубрика: Примеры на Delphi
VivaMP - инструмент для OpenMP.
Инструмент для программистов VivaMP предназначен для помощи разработчикам параллельных программ на базе OpenMP. В статье приведен краткий обзор программного продукта.
Подробнее... |
Рубрика: OpenMP
| Добавлено: 05.12.2008
Создаем контекстно-зависимое WPF-приложени....
Подробнее... |
Рубрика: Windows 7
| Добавлено: 05.12.2008
Windows Vista SP2: что внутри и что важно?.
Подробнее... |
Рубрика: Windows Vista
| Добавлено: 05.12.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|