Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как редактироват компонент в RunTime 
:(
    Опции темы
asset_s
Дата 12.4.2005, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.2.2005

Репутация: нет
Всего: нет



как редактировать компонет в runtime например когда изменяеш размеры и положения компонентов на Form при разработке. нужно очень поджкажите!
таскать компоненты я могу но изменять размеры ?
PM MAIL   Вверх
Satana
Дата 12.4.2005, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: 1
Всего: 5



asset_s Ну а если использовать свойства width и height, разве не получается?


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
asset_s
Дата 12.4.2005, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.2.2005

Репутация: нет
Всего: нет



Да можно но как зто сделить с мышкой
PM MAIL   Вверх
bursa
Дата 12.4.2005, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: нет
Всего: 1



Самый простой способ - TSplitter
Но не всегда подходит

Придется писать таким образом: Ловишь событие перемещения мыши по компоненту - если на краю - преобразуешь курсор на стрелку, с середине - на 4 стрелки, на форме - обычный курсор.
Нажание мыши - в зависимости от курсора в глобальной переменной пишешь, что компонент может меняться (или в свойстве компонента). На перемещение мыши добавляешь, если свойство компонента на изменение=true, то меняшь размер или перемещаешь в зависимости от вида курсора. На событие MouseUp - свойство на изменение = false.

http://forum.vingrad.ru/index.php?showtopi...=0&#entry340303


PM MAIL   Вверх
asset_s
Дата 12.4.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.2.2005

Репутация: нет
Всего: нет



Понял спасибо!!! попробую!
PM MAIL   Вверх
Snowy
Дата 12.4.2005, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



PM MAIL   Вверх
bursa
Дата 12.4.2005, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: нет
Всего: 1



Цитата(Snowy @ 12.4.2005, 09:37)
http://forum.vingrad.ru/index.php?showtopi...=0&#entry330896

Т.е. создавать окно?
Для одного - двух компонентов это отлично. Но если 100 и более... Ну не знаю....
Просто подскажи, Snowy, что будет с ресурсами?

Добавлено @ 15:52
Ну а вообще-то красиво.
PM MAIL   Вверх
Snowy
Дата 12.4.2005, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(bursa @ 12.4.2005, 15:50)
Т.е. создавать окно?

Зачем создавать? Просто задаешь параметры существующим компонентам.

Цитата(bursa @ 12.4.2005, 15:50)
Для одного - двух компонентов это отлично. Но если 100 и более...

А тут никаких сложностей. В OnCreate формы делаешь цикл с FindComponent.
И применяешь этот код ко всем найденным на форме компонентам или определенным типам.
Для цикла что один, что тысяча... Разница только во времени выполнения.
Цитата(bursa @ 12.4.2005, 15:50)
Просто подскажи, Snowy, что будет с ресурсами?

А что с ними будет... Попробуй - узнаешь. Зависит от целей.
Из того кода в линке, тебе нужен только первый.
Второй код прилеплен так... для выпендрежа.
PM MAIL   Вверх
Girder
Дата 12.4.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Цитата(Snowy @ 12.4.2005, 17:06)
Второй код прилеплен так... для выпендрежа.
Я плакаль smile

Код
procedure TForm1.Button1Click(Sender: TObject);
var Style,ExStyle,i:integer;
begin
 for i:=0 to ComponentCount-1 do
  if (Components[i] is TWinControl) then
   With TWinControl(Components[i]) do
    begin
     Align:=alNone;
     Style:=GetWindowLong(Handle,GWL_Style);
     Style:=Style or WS_THICKFRAME;
     SetWindowLong(Handle,GWL_Style,Style);
     ExStyle:=WS_EX_CLIENTEDGE;
     SetWindowLong(Handle,GWL_ExStyle,ExStyle);
     SetWindowPos(Handle,HWND_TOP,Left,Top,Width,Height,SWP_FRAMECHANGED);
    end;
end;




--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1184 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.