Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-87261
Ich Hasse
2003-02-07 23:25
2003.02.27
Сортировка SQL запросом


1-87431
Дима2003
2003-02-17 10:11
2003.02.27
iif ?


1-87493
Xi2
2003-02-15 23:29
2003.02.27
---|Ветка была без названия|---


1-87369
BOA_KAA
2003-02-17 17:04
2003.02.27
Динамические массивы внутри записи


14-87620
MVVD
2003-02-10 09:31
2003.02.27
Где можно скачать клиента Oracle?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский