[C++ Builder]Współrzędne klikniętego punktu


(system) #1

Witam!

Tworzę własnie pierwszą swoją 'mini-mini-gre' i mam mały problem. A raczej brak wiedzy. Mianowicie pracując z kompilatorem Borland C++ Builder 6 nie mam pojęcia jak wyznaczyć miejsce, gdzie użytkownik kliknął myszką. Mianowicie mam narysowany prostokąt, a w nim "kulki" i chciałbym sprawdzać w którą zostało piłke kliknięto. (z tym raczej sobie poradzę tylko potrzebuję pobrać współrzędne klikniętego punktu). Na bibliotekach VCL.

Pozdrawiam


([alex]) #2

OnMouseDown kontrolki na której rysujesz - masz przekazane X,Y jako parametry


(system) #3

Ok...Wielkie dzięki a jakiś kod z użyciem tego? np. tak prosto żeby pobierało mi dwa razy kliknięte współrzędne.

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,

      TShiftState Shift, int X, int Y)

{

Label1->Caption=(X+" "+Y);

}

Wyskakuje mi błąd;

[C++ Error] Unit1.cpp(24): E2316 '_fastcall TForm1::FormMouseDown(TObject *,TMouseButton,TShiftState,int,int)' is not a member of 'TForm1'

([alex]) #4

W niewłaściwy sposób stworzyłeś tą metodę. Nie ma jej w hpp. Nie jest też podłączona do zdarzenia.

  1. Usuń ten szum.

  2. W inspektorze wybierz na gorze TForm1

  3. Przełącz się na zdarzenia

  4. Znajdź OnMosueDown

  5. Podwójny klik na puste pole obok.

  6. W środku wpisz: Label1->Caption=IntToStr(X)+" "+IntToStr(Y);


(system) #5

Yyyy... fajnie;D Ja tyle szukałem, tylko nie miałem pojęcia o tych zdarzeniach ;/ :smiley:

Wielkie dzięki naprawde... Chodziłem po różnych forach i pytałem się to mi odpowiadali, że nie mam podstaw itd. i nic nie wiem i nic nie tłumaczyli. Nooo kurde nie każdy wie wszystko od razu;/ (znaczy o tym 5 pkt to wiedziałem tylko że pisałem to szybko ^^ :slight_smile: )

Pozdro


([alex]) #6

Ano mieli racje, nie warto od razu na głęboka wodę się pchać.