Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение размеров и перетаскивание объектов на форме


Deb ©   (2004-03-27 16:10:00) 

Привет всем! Не подскажите как можно (на API) во время выполнения программы измененять размеры объектов (button, edit и т.п.) и перетаскивать их на форме как это делается в дизайтайме в Делфи? Заранее спасибо.


Diamond Cat   (2004-03-28 14:25:00) [1]


>
> GrayFace ©   (28.03.04 12:20) [4]
> Такой способ не пашет на Lebel
и не будет пахать, считай что label это просто рисунок на канве формы


GrayFace   (2004-03-28 12:20:00) [2]

Такой способ не пашет на Lebel и SpeedButton. Можно рисовать углы, заместив оконные процедуры кнопок и т.д.(SetWindowLong)


GrayFace   (2004-03-28 12:16:00) [3]

Вот:

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 releasecapture;
 if (x<=5) and (y<=5) then (Sender as TWinControl).Perform(wm_syscommand,$f004,1) else
 if (x>=(Sender as TWinControl).Width-6) and (y<=5) then (Sender as TWinControl).Perform(wm_syscommand,$f005,1) else
 if (x<=5) and (y>=(Sender as TWinControl).Height-6) then (Sender as TWinControl).Perform(wm_syscommand,$f007,1) else
 if (x>=(Sender as TWinControl).Width-6) and (y>=(Sender as TWinControl).Height-6) then (Sender as TWinControl).Perform(wm_syscommand,$f008,1) else
 (Sender as TWinControl).Perform(wm_syscommand,$f012,1);
end;


Cobalt   (2004-03-28 12:04:00) [4]

Выставь стиль csDesign (где-то там есть это, можно подсмотреть точные имена свойств и типы в Controls.pas)


rimd   (2004-03-28 10:08:00) [5]

Перехватывай события MouseUp and MouseDown, отлавливай MouseMove и меняй координаты.


Наверх

Титульная страница Поиск, карта сайта Написать письмо