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

Вниз

форма   Найти похожие ветки 

 
Алексей Филонович   (2006-12-20 04:16) [0]

народ,подскажите как мне при зажатии на картинку двигать форму?


 
balepa ©   (2006-12-20 05:16) [1]

Самый простой:
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
     TMouseButton Button, TShiftState Shift, int X, int Y)
{

   if (Button == mbLeft)
   {
       fX = X;
       fY = Y;
       _Move = true;
   }
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
     int X, int Y)
{
unsigned long dX, dY;
   if (_Move == true)
   {
       dX = X - fX;
       dY = Y - fY;
       Form1->Left += dX;
       Form1->Top +=  dY;
   }
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
     TShiftState Shift, int X, int Y)
{
   _Move = false;
}

Можно так:
void __fastcall TForm1::ONTest(TMessage& msg);
BEGIN_MESSAGE_MAP
       VCL_MESSAGE_HANDLER(WM_NCHITTEST, TMessage, ONTest);
END_MESSAGE_MAP(TForm)

void __fastcall TForm1::ONTest(TMessage& msg)
{
   TForm::Dispatch(&msg);
   if(msg.Result == HTCLIENT)
       msg.Result = HTCAPTION;
}


 
Loginov Dmitry ©   (2006-12-20 07:33) [2]

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
  Sc_dragmove = $F012;
begin
  ReleaseCapture;
  Perform(WM_SYSCOMMAND, Sc_dragmove, 0);
end;



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

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

Наверх




Память: 0.44 MB
Время: 0.011 c
2-1166596492
YuMB
2006-12-20 09:34
2007.01.07
Как отловить нажатие клавишь Ctrl + S ?


2-1166133089
MegaNop
2006-12-15 00:51
2007.01.07
Добавление в Memo или RichEdit


15-1165350127
Cyrax
2006-12-05 23:22
2007.01.07
Какой смысл оформлять классы, не имеющие...


2-1166360921
benderAnt
2006-12-17 16:08
2007.01.07
Сообщение об ошибке


2-1166263110
Dmytro
2006-12-16 12:58
2007.01.07
как получить доступ к protrcted свойствам извне?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский