![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение размеров и перетаскивание объектов на форме
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 и меняй координаты.