Jak w programie pisanym w c++builderze reagowć na wcisniecie klawisza np Shift podczas gdy program jest na wierzchu??
w helpi znalazlem cos o TShifState ale nie wiem jak tym sie posługiwać:
typedef Set<Classes__1, ssShift, ssDouble> TShiftState;
Jak w programie pisanym w c++builderze reagowć na wcisniecie klawisza np Shift podczas gdy program jest na wierzchu??
w helpi znalazlem cos o TShifState ale nie wiem jak tym sie posługiwać:
typedef Set<Classes__1, ssShift, ssDouble> TShiftState;
Jak w programie pisanym w c++builderze reagowć na wcisniecie klawisza np Shift podczas gdy program jest na wierzchu??
w helpi znalazlem cos o TShifState ale nie wiem jak tym sie posługiwać:
typedef Set<Classes__1, ssShift, ssDouble> TShiftState;
TShiftState jest kontenerem i zawiera wszystkie stany klawiatury i myszy jakie sa nacisniete podczas wykonywania np MouseMove albo MouseDown
aby sprawdzic co jest w ShiftState sluzy do tego funkcji Contains(...) , jako parametr podaje sie jeden z elementow typu Classes__1 ktory jest zwyklym enumem , a wywoluje sie to tak:
if(ShiftState.Contains(ssShift)) {
.....
}
aby stworzyc wlasny kontener typu Set wystarczy napisac jakis typ wyliczeniowy np:
enum tag_Cos {t_1,t_2,t_3,t_4,t_5};
a potem:
typedef Set<tag_Cos,t_1,t_5> TCos;
i juz kontener jest gotowy... jako parametry konstruktora Set podaje sie typ wyliczeniowy, minimum wyliczenia (pierwszy element) i maksimum wyliczenia (ostatni element)
aby dodac cos do takiego kontenera:
(na poczatku gdzies tam mamy deklaracje np TCos cos;)
cos<<t_1;
aby usunąc element z kontenera
cos>>t_1; (element w kontenerze musi byc)
w helpie jest opisany ten typ wiec wiecej pisac nie bede... to sa podstawy... a i jeszcze enum nie moze miec wiecej jak 255 elementow... ale chyba sie jeszcze nikomu nie zdazylo aby napisac tak duzego enuma :-P
pozdrawiam
WIELKIE dzieki.
Z jakiej mądrej ksiażki dowiedziałeś się o tym??
z praktyki i z helpa Buildera... trzeba tylko poszperac... :-P