Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c