Przemieszczanie narysowanego obiektu na osi x i y
Ostatnio zmodyfikowano 2015-04-30 15:48
lordalvin Temat założony przez niniejszego użytkownika |
Przemieszczanie narysowanego obiektu na osi x i y » 2015-04-29 17:40:05 Witam Wszystkich serdecznie. Jestem nowy na forum i początkującym jeśli chodzi o C++, cały czas zgłębiam tajemnicę tworzenia i manipulowania grafiki w c++ by później przejść na openGL ale im dalej się wgłębiam w powstawanie tego wszystkiego tym bardziej się gubię. Do rzeczy Otóż stworzyłem w aplikacji Picturebox która posiada oś x i y, można na niej narysować obiekt, w tym przypadku jest to sinusoida albo kanciaty ślimak tworzony przez kliknięcia myszki. Teraz chciałbym aby narysowany obiekt przemieszczał się za pomocą dwóch scrollbarów, jeden jest odpowiedzialny za oś x a drugi za oś y. Kod który napisałem nie do końca rozumie o co mi chodzi ponieważ przesuwa się ale tylko jeden raz względem osi x albo y, a powinien przemieszczać się płynnie z ruchem suwaków. Oto kod: private: System::Void hScrollBar1_Scroll_1( System::Object ^ sender, System::Windows::Forms::ScrollEventArgs ^ e ) { double Xp = Yp = - 1.1, Yk = 1.1; double xs = 0.1 * hScrollBarAx->Value; int startxs = 0; int startys = 0; Xp = xs - 1.0; Xk = xs + 1.0; Yk = 0.1 * hScrollBarWx->Value; Yp = - Yk; labelAx->Text = L"Zx = " + Xk.ToString( "F2" ); labelWy->Text = L"Zy = " + Yk.ToString(); pictureBox1->Invalidate(); } private: System::Void hScrollBar2_Scroll( System::Object ^ sender, System::Windows::Forms::ScrollEventArgs ^ e ) { double Xp = - 1.1, Xk = 1.1; double ys = 0.1 * hScrollBarAx->Value; int startxs = 0; int startys = 0; Yp = ys + 1.0; Yk = ys - 1.0; Xk = 0.1 * hScrollBarWx->Value; Xp = + Xk; labelAx->Text = L"Zx = " + Xk.ToString( "F2" ); labelWy->Text = L"Zy = " + Yk.ToString(); pictureBox1->Invalidate();
Mam nadzieję, że tyle wystarczy, jeśli problem jest większy to proszę o głębsze wyjaśnienie. Z góry dziękuję :) |
|
kubawal |
» 2015-04-30 15:48:17 C++/CLI to nie jest fajna rzecz. |
|
« 1 » |