Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TrackBar
#1
Zniszczyłem stary projekt i rozpocząłem nowy w tym tygodniu, dodam nowe bity menu, ale mam problem z paskiem śledzenia. Jeśli spróbuję przeciągnąć suwak, zostanie on przywrócony do początku. Przepraszam za jakość następującego filmu. Youtube go zabił.   Problem jest prawdopodobnie bardzo prosty, ale potrzebuję świeżej pary oczu, aby rzucić okiem na mój kod.     Kod:   klasa cTrackBar {private: bool once = true; int _x = NULL, _y = NULL; int _width = NULL, _height = NULL; D3DXCOLOR _outlineColor = {NULL, NULL, NULL, NULL}; int _sliderX = NULL, _sliderY = NULL; int _sliderWidth = NULL, _sliderHeight = NULL; void Draw () {pRender -> GradientBoxOutlined (_x, _y, _width, _height, 1, D3DXCOLOR (50, 0, 0, 255), D3DXCOLOR (200, 200, 200, 255), _outlineColor, false); pRender -> GradientBoxOutlined (_sliderX, _sliderY, _sliderWidth, _sliderHeight, 1, D3DXCOLOR (200, 200, 200, 255), D3DXCOLOR (50, 50, 50, 255), D3DXCOLOR (255, 255, 255, 255), prawda) ; } public: cTrackBar (int x, int y, int width, int height) {if (once) {_x = x, _y = y, _width = width, _height = height, _sliderX = _x, _sliderY = _y, _sliderWidth = 5 , _sliderHeight = _height; once = false; } if (GetAsyncKeyState (VK_LBUTTON) i 0x8000 && CursorInBox (_sliderX, _sliderY, _sliderWidth, _sliderHeight)) _sliderX = lpCursorPoint. x - 2; _outlineColor = CursorInBox (_x, _y, _width, _height)? D3DXCOLOR (255, 0, 0, 255): D3DXCOLOR (255, 255, 255, 255); Rysować (); }};   Z góry dziękuję.
Reply
#2
oczywiście nie wysłałeś super-tajnego kodu, który jest faktycznie winny, ale moje zdolności parapsychiczne mówią mi, że wciąż sprawdzasz ze starą pozycją kursora myszy w dół / mysz w górę.
Reply
#3
Zacytować: Originally Posted by learn_more oczywiście nie wysłałeś super-tajnego kodu, który jest faktycznie winny, ale moje zdolności parapsychiczne mówią mi, że wciąż sprawdzasz ze starą pozycją kursora myszy w dół / mysz w górę. To wszystko, co jest potrzebne. Znalazłem problem, moje jednorazowe sprawdzenie nie działa i moje wartości są resetowane po zwolnieniu myszy. Rozwiązany.
Reply
#4
no tak, jeśli tworzysz nowy obiekt w każdej klatce, masz raz na każdą klatkę.
Reply
#5
Zacytować: Originally Posted by learn_more no tak, jeśli tworzysz nowy obiekt w każdej klatce, masz raz na każdą klatkę. To ma wiele sensu. + rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)