Ver Mensaje Individual
  #9  
Antiguo 03-06-2013
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Guauuuuu, tio no se que haria yo mal, quizas es que activas alguna propiedad o algo pero tu proyecto va muy bien y solo le hice un par de cambios para que funcione mas o menos como quiero porque por ejemplo en el tuyo cuando mueves automaticamente el puntero se va a la posicion x=0, y=0 de la imagen y le quité lo de que tenga que pulsar la tecla de Ctrol y va genia pero me falta un detalle:

Código:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TPoint *TheSpot = new TPoint;

__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}

bool Moving = false;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Image1->Picture->LoadFromFile(ExtractFilePath(Application->ExeName)+
    "LogoRad.bmp");
}

void __fastcall TForm1::ControlMouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  //Moving = Shift.Contains(ssCtrl);
  Moving = true;
  TheSpot->x = X;
  TheSpot->y = Y;
}


void __fastcall TForm1::ControlMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
  TControl *Ctrl = static_cast<TControl*>(Sender);

  if (Moving) {
    Screen->Cursor = crCross;
    Ctrl->Left = X + Ctrl->Left - TheSpot->x;
    Ctrl->Top  = Y + Ctrl->Top - TheSpot->y;
  }
}

void __fastcall TForm1::ControlMouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
  Moving = false;
  Screen->Cursor = crDefault;
}
Quiero que cuando arrastres la imagen y llegues al final de la imagen por cualquiera de sus lados ya no pueda desplazarse mas, o sea, que puedas arrastrar hasta que por ejemplo la parte superior de la imagen llegue a la parte superior del scrollbox y lo mismo por cualquiera de sus lados, no se si me explico. Tiene que ser super facil pero no veo la forma.
Responder Con Cita