Ĺadny brzuch
Witam
Tworze kilka kształtów o pewnym charakterze, chce aby bo kliknięciu myszką na dany kształt wyświetlił zaszło pewne zdarzenie dla przykładu niech będzie napis.
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (Button==mbRight)
{
for (std::map<TShape*,TLabel*>::iterator I1=MapOfShapes.begin();I1!=MapOfShapes.end();I1++)
if (I1->first == dynamic_cast<TShape*>(Sender))
Label1->Caption="OK";
}
}
Jednak nic nie zachodzi, może wie ktoś jak do tego podejść lub co omijam.
Dzięki za odpowiedz.
ale kaszana.
Nie możesz po prostu sprawdzić współrzędnych myszki i porównać ze współrzędnymi kształtu. Coś jak wykrywanie kolizji.
moze oprogramuj zdarzenia tych kształtów
Problem dokładnie polega na tym że stawiam wierzchołki na pewnym obszarze, i miedzy tymi wierzchołkami chce narysować linie, najpierw zaznaczam jeden wierzcholek, pozniej drugi i rysuje mi sie linia.
1. Wierzcholki tworze sobie dynamicznie, podczas dzialanie programu
2. Mysle nad rozwiazaniem by dla kazdego stworzonego wierzcholka przypisywac metoda zwracajaca jego polozenie.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Tworze kilka kształtów o pewnym charakterze, chce aby bo kliknięciu myszką na dany kształt wyświetlił zaszło pewne zdarzenie dla przykładu niech będzie napis.
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (Button==mbRight)
{
for (std::map<TShape*,TLabel*>::iterator I1=MapOfShapes.begin();I1!=MapOfShapes.end();I1++)
if (I1->first == dynamic_cast<TShape*>(Sender))
Label1->Caption="OK";
}
}
Jednak nic nie zachodzi, może wie ktoś jak do tego podejść lub co omijam.
Dzięki za odpowiedz.
ale kaszana.
Nie możesz po prostu sprawdzić współrzędnych myszki i porównać ze współrzędnymi kształtu. Coś jak wykrywanie kolizji.
moze oprogramuj zdarzenia tych kształtów
Problem dokładnie polega na tym że stawiam wierzchołki na pewnym obszarze, i miedzy tymi wierzchołkami chce narysować linie, najpierw zaznaczam jeden wierzcholek, pozniej drugi i rysuje mi sie linia.
1. Wierzcholki tworze sobie dynamicznie, podczas dzialanie programu
2. Mysle nad rozwiazaniem by dla kazdego stworzonego wierzcholka przypisywac metoda zwracajaca jego polozenie.