• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Obsługa zdarzeń na przyciśniecie przycisku myszy oraz na "puszczenie" tego klawisza. [Borland C++]

Object Storage Arubacloud
0 głosów
665 wizyt
pytanie zadane 2 lipca 2016 w C i C++ przez Raffallo Początkujący (290 p.)
Witam,

uczę się programować i z programowania w C::B przeszedłem do programowania w Borland C++.

Chciałbym zrobić funkcję przesuwania mapy/rysunku w taki sposób, że klikam w danym miejscu i przesuwam w inne miejsce, gdzie puszczam przycisk myszy, a cały obrazek się przesuwa.

Niestety problemem jest, że nie wiem w jaki sposób uzyskać jakiś efekt przy przytrzymaniu klawisza oraz przy jego puszczeniu w programie Borland C++, czy ktoś mógłby udzielić jakiejś porady?

Dodam ponownie, iż się uczę dopiero :)

Z góry dziękuję za pomoc.

1 odpowiedź

0 głosów
odpowiedź 2 lipca 2016 przez JAKUBW Nałogowiec (33,470 p.)
wybrane 2 lipca 2016 przez Raffallo
 
Najlepsza
Możesz to zrobić na 2 sposoby. Pierwszy prostszy, ale gorzej działający i odbierajacy pewne funkcje, który trzeba tylko włączyć i gotowe. Jest on wbudowany w Builder. Drugi sposób to taki, że sam wszystko piszesz. Ja gdy robiłem edytor map typu właśnie przesuwania elementów to sam napisałem to przesuwanie. Też Ci polecam tak zrobić.
komentarz 3 lipca 2016 przez Raffallo Początkujący (290 p.)
mam TPaintBox, który przyjmuje rozmiar TFrame, ale nie wiem czy o to pytałeś.

A przybliżając lub oddalając zmieniam po prostu skalę i jak by rysuję na nowo z nową skalą.
komentarz 3 lipca 2016 przez JAKUBW Nałogowiec (33,470 p.)
Aha, no o to pytałem. Ale ja ci już nie pomogę. Bo w ten sposób nie robiłem. Powodzenia.
komentarz 4 lipca 2016 przez maly Nałogowiec (37,190 p.)
W zdarzeniach OnMouseWheel pozycja myszy jest w zmiennej MousePos.
komentarz 4 lipca 2016 przez Raffallo Początkujący (290 p.)
tak, wiem o tym, ale jak wspomnialem ta pozycja odnosi sie do pozycji na calym ekranie, a ja potrzebuje tylko pozycje na moim TPaintBox
komentarz 4 lipca 2016 przez maly Nałogowiec (37,190 p.)
void __fastcall TForm1::FormMouseWheel(TObject *Sender, TShiftState Shift,
      int WheelDelta, TPoint &MousePos, bool &Handled)
{
	TPoint position = PaintBox1->ScreenToClient(MousePos);
}

 

Podobne pytania

0 głosów
1 odpowiedź 166 wizyt
0 głosów
1 odpowiedź 108 wizyt
0 głosów
1 odpowiedź 693 wizyt
pytanie zadane 4 lipca 2016 w C i C++ przez Raffallo Początkujący (290 p.)

92,554 zapytań

141,399 odpowiedzi

319,535 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...