![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PageControl
DrFaust © (2003-01-21 13:37:00)
Почему его нет среди компонентв KOL и как его заменить?
DrFaust (2003-01-31 15:42:00) [1]
> DrFaust (31.01.03 10:30)
Это юмор, кто не понял.
SPeller (2003-01-31 15:38:00) [2]
> DrFaust (31.01.03 13:44)
> SPeller
> Дата рождения: 08.12.1984, мал да удал? ...со следами искусственного
> интеллекта на лице...
Прошу прощения, но к чему этот пост? Или Вас задело что я к Вам на "ты"? В чём проблема?
Kladov (2003-01-31 14:28:00) [3]
Ну что же, что 18 лет. Остается только позавидовать, что с таким интеллектом еще столько лет впереди. Иные только к 40 умнеть начинают, а тут старуха из-за угла :)
DrFaust (2003-01-31 13:44:00) [4]
SPeller
Дата рождения: 08.12.1984, мал да удал? ...со следами искусственного интеллекта на лице...
> Вот это настоящий выход из положения! Удачи тебе, не пользоваться
> Дельфями и в блокноте написать свой TabControl :-))
SPeller (2003-01-31 11:39:00) [5]
> >А ты спрячь названия кнопочек своих за пределами формы.
> Если >они у тебя сверху, то подними TabControl так чтобы
> кнопок не >было видно, и всё :)
>
> А если я захочу спрятать заголовок формы то нужно его подвинуть
> за пределы экрана, да?
>
> >А ты не пользуйся MCK. :) И всё станет намного проще...
>
> Может и Делфями не пользоватся, тогда совсем просто!
Вот это настоящий выход из положения! Удачи тебе, не пользоваться Дельфями и в блокноте написать свой TabControl :-))
DrFaust (2003-01-31 10:30:00) [6]
Конечно нужно было уточнить, что я хочу переписать свою прогу с VCL на MCK из KOL.(Это там она весит 2мб) Отсюда и такие вопросы! Короче понял, что нужно писать самому компонент PageControl, а все эти ответы слишком неудобны в работе, и главное это не решения проблемы.
>А ты спрячь названия кнопочек своих за пределами формы. Если >они у тебя сверху, то подними TabControl так чтобы кнопок не >было видно, и всё :)
А если я захочу спрятать заголовок формы то нужно его подвинуть за пределы экрана, да?
> Kladov
>В ObjectInspector можно выбрать нужный таб или панель, в меню >Delphi IDE есть пункт BringToFront.
Идея известная но не фонтан!
>А ты не пользуйся MCK. :) И всё станет намного проще...
Может и Делфями не пользоватся, тогда совсем просто!
Kladov (2003-01-29 19:59:00) [7]
> Как искать невидимку?
В ObjectInspector можно выбрать нужный таб или панель, в меню Delphi IDE есть пункт BringToFront.
> Это лишние 50-150kb на форму
Только не в KOL+MCK.
Я использую регионы. В design-time TabControl (он так правильно называется, PageControl - это Борландовская отсебятина) лежит как обычно (только закладки удобно вниз положить). В run-time в OnFormCreate вызывается SetWindowRegion, и все ненужные краешки обрезаются (достаточно в качестве прямоугольника взять TC_DisplayRect). Посмотрите еще, что по Ctrl+Tab пользователь не мог переключаться между закладками.
SPeller (2003-01-29 18:05:00) [8]
> А как прикажите это сделать в МСК когда нужно переключатся
> на разные панели для редактирования, а понели занимают все
> видимую облась? Как искать невидимку?
А ты спрячь названия кнопочек своих за пределами формы. Если они у тебя сверху, то подними TabControl так чтобы кнопок не было видно, и всё :)
SPeller (2003-01-29 17:59:00) [9]
> Это он туда может картинки какие вставляет?
Наверно десктопы bmp-шные :-))
Nwm (2003-01-29 12:35:00) [10]
/ Это лишние 50-150kb на форму и это - когда приложение и так уже под 2мb и 10-ток форм/
2blackalex:
А размер в 2mb тебя не удивил? Это он туда может картинки какие вставляет?
blackalex (2003-01-29 12:04:00) [11]
Две формы конечно просто, но геморрой Это лишние 50-150kb на форму
=8-0 Это ты на чем програмируешь?
Nwm (2003-01-29 11:43:00) [12]А ты не пользуйся MCK. :) И всё станет намногопроще...
Типа:
..
Var
Form: Pcontrol;
Panels: Array [0..9999] of Pcontrol;
I: Integer;
..
For I:=0 to 9999 do
Begin
( Form,esNone)
А ты не пользуйся MCK. :) И всё станет намногопроще...
Типа:
..
Var
Form: Pcontrol;
Panels: Array [0..9999] of Pcontrol;
I: Integer;
..
For I:=0 to 9999 do
Begin
Panels[i]:=NewPanel (Form,esNone).SetAlign (CaClient);
Panels[i].Visible:=False;
End;
И у тебя будет 9999 панелей. :) Даже у меня столько нет. :)
DrFaust (2003-01-29 11:21:00) [13]
>Я бы лучше две формы сделал и наладил взаимодействие, чем с
>табами геморроитья... :) Но это только моя позиция.
--------------------------------------------------------------------------------
Две формы конечно просто, но геморрой Это лишние 50-150kb на форму и это - когда приложение и так уже под 2мb и 10-ток форм, а если настраивать нужно много (у меня 6 тем)то и кол-во форм растет соответственно. Выход только один использовать универсальный PageControl!!! Кстати в любом "Мастере" где происходит последовательна настройка используется этот же принцип с PageControl.
-------------------------------------------------------------------------------
>Сделай две панели и скрывай/отображай их ручками (это если без MCK).
--------------------------------------------------------------------------------
А как прикажите это сделать в МСК когда нужно переключатся на разные панели для редактирования, а понели занимают все видимую облась? Как искать невидимку?
Centronix (2003-01-28 23:56:00) [14]
Сделай две панели и скрывай/отображай их ручками (это если без MCK).
SPeller (2003-01-28 20:57:00) [15]
> В меню 2 пункта которые вызывают одну форму но на форме
> видна только одна страница(нужная) и нет ни каких табов!
Хитро однако... :-))
Я бы лучше две формы сделал и наладил взаимодействие, чем с табами геморроитья... :) Но это только моя позиция.
DrFaust (2003-01-28 18:36:00) [16]
>SPeller
>У меня все контролы всю жисть лежат на нужных страничках и при
>выборе нужной страницы одни скрываются, а другие
>показываются... А ты вручную чтоли их прячешь/показываешь?
--------------------------------------------------------------------------------
Имелось в виду что пользователь даже не догадывается о существовании страничек, он видет всегда разные по содержанию формы хотя это одна. Пример: на форме две страницы - на одной настройка меню программы - на второй настройка цветов в программе. В меню 2 пункта которые вызывают одну форму но на форме видна только одна страница(нужная) и нет ни каких табов!
Boguslaw (2003-01-24 21:17:00) [17]
function TC_Insert( Idx: Integer; const TabText: String; TabImgIdx: Integer ): PControl;
Inserts new tab before given, returns correspondent page control (which can be used as a parent for controls to place on the page).
procedure TC_Delete( Idx: Integer );
Removes tab from tab control, destroying all its child controls.
SPeller (2003-01-24 19:44:00) [18]
> DrFaust (24.01.03 15:20)
> Очень удобно распологаешь на закладках нужные контролы
> и по необходимости переключаешь закладки в проге - создается
> видимость, что содержание формы перерисовывается хотя это
> всего лишь разные странички
У меня все контролы всю жисть лежат на нужных страничках и при выборе нужной страницы одни скрываются, а другие показываются... А ты вручную чтоли их прячешь/показываешь?
DrFaust (2003-01-24 15:20:00) [19]
С созданием закладок теперь все понятно, проблема - не могу спрятать название закладок как в VCL TabSheet.TabVisible=False;
и название закладки не выводится.
Очень удобно распологаешь на закладках нужные контролы и по необходимости переключаешь закладки в проге - создается видимость, что содержание формы перерисовывается хотя это всего лишь разные странички. Так можно экономить на количестве форм - имеешь одну с разными видами.
blackalex (2003-01-21 17:31:00) [20]
При создании контрола можешь сразу создать нужное количество закладок
TabControl := NewTabControl( Form, [ "Page1", "Page2" ], [ ], nil, 0 )
добавлать можно при помощи TabControl.TC_Insert
Зделать закладку невидимой TabControl.Pages[0].Visible=false ну и так далее
Короче, все , что начинается с TC_ относится к TabControlу