Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2008, 17:30   #1
geniy
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 16
По умолчанию Перетаскивание

Как перетаскивать обЪекты по программе ?
geniy вне форума Ответить с цитированием
Старый 10.03.2008, 17:52   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

ReleaseCapture + поиск по форуму
_Dmitry вне форума Ответить с цитированием
Старый 10.03.2008, 19:29   #3
geniy
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 16
По умолчанию

Tam skazano kak peretaskivat Panel a mne nujno Image.
geniy вне форума Ответить с цитированием
Старый 10.03.2008, 19:35   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от geniy Посмотреть сообщение
Tam skazano kak peretaskivat Panel a mne nujno Image.
А что, буковки поменять самостоятельно очень трудно?
И то, и другое - компоненты.

З.Ы. Прошу пардона - погорячился...
Вот способ "по-простому":
Код:
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
Image1.SetBounds(Image1.Left+x-x0,Image1.Top+y-y0,Image1.width,Image1.height);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
move:=False;
end;
move, x0, y0 - глобальные переменные.

Последний раз редактировалось mihali4; 10.03.2008 в 20:25.
mihali4 вне форума Ответить с цитированием
Старый 10.03.2008, 19:42   #5
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

С имиджем так не получится, кидай его на панель и таскай панель за имидж
Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  Panel1.perform(WM_SysCommand,$F012,0);
end;
_Dmitry вне форума Ответить с цитированием
Старый 10.03.2008, 20:27   #6
geniy
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 16
По умолчанию

Bolwoe spasibo!Vse zarabotalo.A mixali4u xo4u skazat wto esi bi ya ne pomenyal bi bukvi ya bi ne peresprosil!Ti je proffisional,kak mojno takiye owibki delat.
geniy вне форума Ответить с цитированием
Старый 11.01.2009, 14:39   #7
flandrihl
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 2
По умолчанию

Я видел где-то в нете код на перетаскивания самого имейджа, тока уже не помню где...
Мне очень нужен этот код.
Мот у кого ещё какие идеи будут?

Последний раз редактировалось flandrihl; 11.01.2009 в 14:51.
flandrihl вне форума Ответить с цитированием
Старый 11.01.2009, 15:17   #8
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Так что ли?
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
    X0, Y0: integer;
    Down: boolean;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  X0 := x;
  Y0 := y;
  Down := true;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  p: TPoint;
begin

  if Down then begin
    p := Mouse.CursorPos;
    p := Form1.ScreenToClient(p);
    Image1.Top := p.Y - y0 ;
    Image1.Left := p.X - x0;
  end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Down := false;
end;

end.
Цитата:
Bolwoe spasibo!Vse zarabotalo.A mixali4u xo4u skazat wto esi bi ya ne pomenyal bi bukvi ya bi ne peresprosil!Ti je proffisional,kak mojno takiye owibki delat.
А где он сделал ошибку?

Последний раз редактировалось Баламут; 11.01.2009 в 15:20.
Баламут вне форума Ответить с цитированием
Старый 11.01.2009, 19:54   #9
flandrihl
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 2
По умолчанию

ХМ... Вроде этот... Огромное СПС!!!

А мот кто ещё знает как активировати панель при нажатии, ну чтобы при клике по панели она перескакивала поверх другой?
flandrihl вне форума Ответить с цитированием
Старый 12.01.2009, 02:10   #10
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Код:
procedure TForm1.Panel2Click(Sender: TObject);
begin
  (sender as TPanel).BringToFront;
end;
Баламут вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перетаскивание окна Freedom Общие вопросы Delphi 12 23.11.2013 15:29
Перетаскивание окон werat Свободное общение 2 18.08.2008 11:58
Перетаскивание обьектов Witaliy Общие вопросы Delphi 6 27.04.2008 19:22
Перетаскивание формы s-force Общие вопросы Delphi 13 07.09.2007 15:38