Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Как двигать форму по изображению

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 20.06.2011, 13:26   #1
Читер-спонсор
 Сержант
Аватар для gum_classis
 
gum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядомgum_classis в состоянии испепелить взглядом
Регистрация: 03.04.2011
Сообщений: 128
Популярность: 5379
Сказал(а) спасибо: 137
Поблагодарили 209 раз(а) в 111 сообщениях
Отправить сообщение для gum_classis с помощью ICQ Отправить сообщение для gum_classis с помощью Skype™
 
Smile Как двигать форму по изображению

Сделал гаджет ,но не могу его двигать форма полностью прозрачна только изображение так вот кому не трудно выложите код чтобы форма двигалась зажав левую кнопку мыши и передвигать по экрану.
  Ответить с цитированием
Пользователь сказал cпасибо:
Муха_ (20.06.2011)
Старый 20.06.2011, 13:37   #2
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Как двигать форму по изображению

//Первый способ

При нажатии по форме:
Код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
SC_DragMove=$F012;
begin
ReleaseCapture;
Form1.Perform(WM_SysCommand, SC_DragMove, 0);
end;
При нажатии по изображению:
Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
SC_DragMove=$F012;
begin
ReleaseCapture;
Form1.Perform(WM_SysCommand, SC_DragMove, 0);
end;
Обьяснение:
Ты создаёшь обработчик событий OnMouseKeyDown на елементе, при нажатии на который ты хочешь, чтобы форма двигалась. Потом прописываешь const перед begin и прописываешь:
Код:
SC_DragMove=$F012;
После между begin и end прописываешь это
Код:
ReleaseCapture;
Form1.Perform(WM_SysCommand, SC_DragMove, 0);
В результате получаешь передвижение формы при нажатии на любою точку нажного элемента формы...

//Второй способ

При нажатии на форму:

Обьявляем глобальные переменные:
Код:
var
Hit:boolean;
_x,_y:integer;
Потом создаём на форме обработчик событий OnCreate:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Hit:=false;
end;
Потом создаём на форме обработчик событий OnMouseDown:
Код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
begin
Hit:=true;
_x:=X; _y:=Y;
end;
Потом создаём на форме обработчик событий OnMouseMove:
Код:
procedure TForm1.FormMouseMove(Sender: TObject; 
          Shift: TShiftState; X, Y: Integer);
begin
if Hit then
begin
left:=left+(x-_x);
top:=top+(y-_y);
end;
end;
Потом создаём на форме обработчик событий OnMouseUp:
Код:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; 
         Shift: TShiftState; X, Y: Integer);
begin
Hit:=false;
end;
Выбирай какой способ тебе нравится больше...
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.



Последний раз редактировалось VeTaL_UA; 20.06.2011 в 13:54.
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
gum_classis (20.06.2011), SanNick (20.06.2011), Steam~ (20.06.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Статья] Вы хотите форму? тогда вам сюда! gerculez Статьи, квесты и описания по Perfect World 43 04.08.2011 21:01
[Помогите!] Как создать прозрачную форму с непрозрачным Picturebox-м? bohdan09 Вопросы и ответы, обсуждения 5 11.05.2011 10:33
Создание второй формы Deep45 С/С++ 1 22.03.2011 15:12
[Уязвимость] Взламываем сайты через форму загруки lotos007 Web-программирование и технологии 0 13.08.2010 14:32

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 07:42.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net