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

Вниз

Skin-компоненты и IDE Delphi   Найти похожие ветки 

 
Olly ©   (2003-02-13 19:31) [0]

Возможно-ли, при использовании различных skin-компонент, настроить IDE в design-time таким образом, чтобы внешний вид создаваемой формы и размещенных на ней компонент был точно таким-же, как и в run-time. Т.е., динамически отражалась бы смена скина и я видел-бы свою форму точно в таком же виде при ее разработке, как и при запуске уже откомпилированной программы. Как частный случай - можно ли в design-time скрыть заголовок окна (caption-bar).

Olly


 
ZeroDivide ©   (2003-02-14 10:10) [1]

Да, конечно, я сначала так и сделал. Потом отказался, это не очень удобно. Лучше просто в дизайнтайме отрисовывать скин на форме(Перехватываешь paint).

>настроить IDE в design-time
Настраивать ничего не надо, особенно в IDE.
Просто сделай так:

MyFormControl: TForm;
...........
и в креейте твоего скин компонента
constructor Create(AOwner: TComponent);
begin
MyFormControl := (AOwner as TForm);//Ставим указатель на объект формы
MyFormControl.BorderStyle := bsNone;//Делаем с объектом формы что угодно, например убираем заголовок
end;


 
Olly ©   (2003-02-14 20:53) [2]

ZeroDivide<b/>

Спасибо за ответ. Сразу возникли два вопроса:
1. Почему отказался от такого подхода? В чем неудобство? По-моему наоборот, когда при разработке видишь свою форму такой, как она будет выглядеть в run-time - это очень удобно. Например, некоторые скины несколько могут поменять размер стандартных кнопок, и когда запускаешь программу, кнопки оказываются или слишком близко друг к другу или другим объектам формы или, наоборот, - разбегаются в разные стороны из-за того что стали меньше(уже или тоньше). В связи с этим вид формы меняется и не в лучшую сторону, а когда видно элементы интерфейса так, как они будут выглядеть в работающей программе, то их размещение выполняется легче и удобней. <- ИМХО
2. Не совсем понял - (Перехватываешь paint), как это выполняется в design-time.

Спасибо,
Olly


 
-=Sergeante=- ©   (2003-02-17 12:05) [3]

Varian Skin Factory. Там именно так, как ты хочешь.


 
ZeroDivide ©   (2003-02-17 13:33) [4]

1
>Например, некоторые скины несколько могут поменять размер
>стандартных кнопок
Это как это - рисунок под кнопками сможет поменять их размер?

Я сделал так:
Дизайнтайм:
********************************
********************************
* *
* *
* %%%%% *
* %%%%%%%%%% *
* %%%%%%%%%%%%%%% *
* %%%%%% *
* *
* *
********************************

Рантайм:
%%%%%
%%%%%%%%%%
%%%%%%%%%%%%%%%
%%%%%%

Потому что в дизайнтайме все таки удобно потаскать за заголовок
иногда, да и некоторые компоненты можно кинуть не на скин а на часть формы которая будет невидимой. Чтобы видеть скин таким какой он будет в рантайм.


 
ZeroDivide ©   (2003-02-17 13:41) [5]

Ой, блин, псевдографика (в первом варианте) не очень удалась :)

2>Перехватываешь paint
В общем не событие, а метод формы:

constructor Create(AOwner: TComponent);
begin
OwnerPaint := MyFormControl.Paint;
MyFormControl.OnPaint := MyPaint;
end;

procedure MyPaint;
begin
MyFormControl.Canvas.Draw(...);
OwnerPaint;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
4-87737
JOHN
2003-01-12 16:46
2003.02.27
Изменить caption чужой формы.


1-87506
littlelove
2003-02-15 22:44
2003.02.27
ToolBar ->ToolWindow


1-87405
Димон1
2003-02-18 10:39
2003.02.27
TreeView.Item


14-87630
Mihey
2003-02-09 19:13
2003.02.27
Сложнейшая задача.


6-87590
Демонов Е.В.
2003-01-09 13:28
2003.02.27
Вопрос про Доступ