Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.03.27;
Скачать: [xml.tar.bz2];

Вниз

Перетаскивание картинки с помощью мыши.(ошибка)   Найти похожие ветки 

 
Aqua   (2011-01-03 19:19) [0]

lazarus XP вот код: unit Unit1;

{$mode objfpc}{$H+}

interface

uses
 Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
 ExtCtrls;

type

 { TForm1 }

 TForm1 = class(TForm)
   Image1: TImage;

procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

 private
   { private declarations }
 public
   { public declarations }
 end;

var
 Form1: TForm1;

implementation

var x0,y0:integer;
move:boolean;

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;

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;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  move:=false;
end;

initialization
 {$I Unit1.lrs}

end.
                               
                                     
ошибки такие:
Unit1.pas(18,66) Hint: Parameter "Shift" not used
Unit1.pas(19,44) Hint: Parameter "Shift" not used
Unit1.pas(20,42) Hint: Parameter "Button" not used
Unit1.pas(20,64) Hint: Parameter "Shift" not used
Unit1.pas(20,84) Hint: Parameter "X" not used
Unit1.pas(20,87) Hint: Parameter "Y" not used
Проект "project1" успешно собран. :)

на форме рисунок не таскается


 
Anatoly Podgoretsky ©   (2011-01-03 19:28) [1]

> Aqua  (03.01.2011 19:19:00)  [0]

Если проект успешно сообран, то ошибок не обнаружено.


 
sniknik ©   (2011-01-03 19:58) [2]

> ошибки такие:
хинт (подсказка) это не ошибка.

> на форме рисунок не таскается
ну, а события то происходят? точку останова если внутри поставить. к форме они как то привязаны? а то у тебя dfm-е нет (кода присоединения). как оно в лазарусе связывается без понятия...


 
Aqua   (2011-01-03 19:59) [3]

но прога не работает, рисунок не таскается ,форма запускается как надо но алгоритм не робит(( помогите плиз


 
Aqua   (2011-01-03 19:59) [4]

но прога не работает, рисунок не таскается ,форма запускается как надо но алгоритм не робит(( помогите плиз


 
KilkennyCat ©   (2011-01-03 20:11) [5]

конечно не будет. нужно отслеживать глобальное перемещение мыши, а не объекте, который под курсором перемещается...


 
KilkennyCat ©   (2011-01-03 20:13) [6]

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

все, что тебе нужно - Magic number


 
v_a_belousov   (2011-01-03 20:13) [7]


> KilkennyCat

Но в Delphi то и так работает почему то...


 
KilkennyCat ©   (2011-01-03 20:17) [8]

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 if Button = mbRight then begin
   ReleaseCapture;
   SendMessage(Image1.Handle, WM_SYSCOMMAND, $F012, 0);
 end;          
end;


 
KilkennyCat ©   (2011-01-03 20:18) [9]


> v_a_belousov   (03.01.11 20:13) [7]

и хорошо работает? ничего не дергается?


 
sniknik ©   (2011-01-03 20:22) [10]

KilkennyCat ©   (03.01.11 20:17) [8]
а вот это работать не будет, имедж не окно...


 
v_a_belousov   (2011-01-03 20:26) [11]


> ничего не дергается?

да есть такое... не смотрел просто до этого


 
KilkennyCat ©   (2011-01-03 20:56) [12]


> sniknik ©   (03.01.11 20:22) [10]

да, точно... ступил.


 
KilkennyCat ©   (2011-01-03 20:56) [13]

тогда кинуть его на панель :)


 
KilkennyCat ©   (2011-01-03 21:03) [14]

а... все равно не будет... с правой кнопкой мыши.


 
v_a_belousov   (2011-01-03 21:11) [15]


> а... все равно не будет... с правой кнопкой мыши.

так ему вроде с правой и не нужно...

> If button<>mbLeft Then
> move:=false


 
v_a_belousov   (2011-01-03 21:13) [16]


> > If button<>mbLeft Then
> > move:=false

а нет извиняюсь...


 
v_a_belousov   (2011-01-03 21:15) [17]

почему же на форуме редактирования до сих пор нет...( захочешь что то исправить и пиши по новой...


 
Aqua   (2011-01-03 22:02) [18]

может подскажете найти другое решение?


 
KilkennyCat ©   (2011-01-03 22:23) [19]


> v_a_belousov   (03.01.11 21:15) [17]

это да.


> Aqua   (03.01.11 22:02) [18]

я же уже подсказал - лови более глобальные координаты.
часть текущего решения верна - нужно запоминать флаг драга и координаты, где драг начался.


 
Aqua   (2011-01-03 23:12) [20]


>
> я же уже подсказал - лови более глобальные координаты.
> часть текущего решения верна - нужно запоминать флаг драга
> и координаты, где драг начался.

вот же флаг драга:

> 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;
>

всё получилось спасибо всем кто помогал:) я оказывается забыл в инспекторе ==>события прописать:)


 
KilkennyCat ©   (2011-01-03 23:49) [21]


> вот же флаг драга:

так я и говорю, эта часть - верная.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.03.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
15-1292323166
ixen
2010-12-14 13:39
2011.03.27
Setup и Firebird


15-1292327670
12
2010-12-14 14:54
2011.03.27
именование объектов в ORACLE в БД


2-1294034216
adigozelov
2011-01-03 08:56
2011.03.27
Update program


15-1291966167
И. Павел
2010-12-10 10:29
2011.03.27
Разграничение разработки и установки


2-1293796610
tippa
2010-12-31 14:56
2011.03.27
входит ли строка в поток?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский