|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.05.2007, 09:29 | #11 |
Форумчанин
Регистрация: 23.05.2007
Сообщений: 151
|
Где почитать как пользоваться suiSkinForm, suiSkinControl etc ?
|
24.05.2007, 13:55 | #12 |
Форумчанин
Регистрация: 22.05.2007
Сообщений: 511
|
Вот три способа которые я использую:
//Перемещение картинки var x0, y0: integer; move: boolean; Теперь напишем обработчик OnMouseDown для нашей картинки: procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if button <> mbLeft then move:=false //если нажали не левой кнопкой, то перемещать не будем! else begin move:=true; x0:=x; //запоминаем начальные координаты y0:=y; //запоминаем начальные координаты end; end; В этом участке кода проверяется какой кнопкой нажали на картинку. Если левой, то запоминаем координаты, а если любой другой, то перемещать нельзя. Теперь напишем обработчик OnMouseMove для нашей картинки: procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if move then begin image1.Left:=image1.Left+x-x0; // Изменяем позицию левого края image1.Top:=image1.Top+y-y0; // Изменяем позицию верхнего края end; end; Ну и наконец обработчик OnMouseUp для нашей картинки будет таким: procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin move := false; end; ----------------перемещение формы---------------- private {Для перемещения формы вне заголовка объявляем процедуру} procedure WMNCHitTest(var M:TWMNCHitTest);message wm_NCHitTest; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} {Для перемещения формы вне заголовка описываем процедуру} procedure TForm1.WMNCHitTest(var M: TWMNCHitTest); begin inherited; if M.Result = htClient then M.Result := htCaption; end; ----------------перетаскивание формы------------ Хочу показать еще один способ перемещения окна за его тело Обрабатываем OnMouseDown: ReleaseCapture; Perform(WM_SYSCOMMAND, $F012, 0); |
23.11.2013, 15:29 | #13 |
Пользователь
Регистрация: 21.04.2011
Сообщений: 20
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перетаскивание | geniy | Компоненты Delphi | 9 | 12.01.2009 02:10 |
Перетаскивание окон | werat | Свободное общение | 2 | 18.08.2008 11:58 |
Размер окна в зависимости от размера окна | Reverent | JavaScript, Ajax | 1 | 02.02.2008 15:49 |
закрыть все дочерни окна, кроме главного окна | Worms | Общие вопросы Delphi | 2 | 03.12.2007 22:18 |
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? | dimonchuk | Общие вопросы Delphi | 1 | 11.08.2007 12:13 |