[c++] Pokretlo

0

Witam,

moje pytanie brzmi: Jak zrobic pokretlo w C++ Builder? Chcialbym zeby dzialalo ja np. UpDown zamiast strzalek bylo pokretlo. A moze ktos ma juz taki komponent?

Z gory dzieki za odpowiedz!

0
  1. Umieszczasz na formie np. TImage i wczytujesz do niego rysunek pokretla.
  2. Tworzysz zmienne globalne : int px=0,py=0,pok=0,md=0;
    Legenda:
    pok - pokretlo, przyjmuje wartosciod 1-99.
    px,py - pozycja kursora myszy w poprzednim sprawdzeniu.
    md - zmienna przechowujaca wartosc "czy przycisk myszy jest wcisniety?".
  3. Wzdarzeniu OnMouseMove w TImage wpisujesz kod :
if(md==1)
{
  if(X>=px){if(pok<100)pok++;}
  if(X<=px){if(pok>0)pok--;}
  if(Y<=px){if(pok<100)pok++;}
  if(Y>=px){if(pok>0)pok--;}
}
px=X;
py=Y;
  1. Teraz musisz jakos sprawdzac czy przycisk myszy jest wcisniety czy tez nie. Dla uproszczenia proponuje takie cos :
  • w OnMouseDown wpisz :
md=1;
  • a w OnMouseUp wpisz :
md=0;
  1. Teraz mozesz jeszcze wczytywac w zaleznosci od wartosci 'pok' odpowiednie obrazki pokretla w roznych polozeniach.

P.S. Pokretlo zwieksza wartosc gdy pozycja X myszki rosnie i gdy pozycja Y maleje a zmniejsza wartosc w odwrotnych przypadkach. Zawsze mozna lepiej to zrealizowac, wystarczy troche pomyslec. W proponowanym programie uzylem zmiennych globalnych ale nie trzeba tego robic a nawet nie powinno sie jesli nie trzeba. Chcialem tylko mniejwiecej pokazac mechanizm jak mozna takie pokretlo zrobic i tak bylo najszybciej.

Pozdrawiam

0

Ok, dzieki za odpowiedź ;)

Mam jeszcze jedno pytanko - Czy mozna w prosty sposób zrobic samemu taki komponent np. przerobic komponent TrackBar na Pokretlo? Byloby to bardziej profesjonalne i funkcjonalnie :)

Znalazlem taki komponent nawet na tej stronce http://4programmers.net/file.php?id=514 ale nie moge go zainstalowac i nie wiem czy ja cos zle robie czy po prostu sie nie da :(

Pozdrawiam!

0

Mozecie polecic jakies dobre stronki z darmowymi komponentami?

1 użytkowników online, w tym zalogowanych: 0, gości: 1