|
Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor:
![]() |
![]() |
|
Alati teme | Način prikaza |
![]() |
#1 |
član
Certified
Datum učlanjenja: 15.09.2006
Poruke: 70
Hvala: 6
6 "Hvala" u 3 poruka
![]() |
![]() Potrebno mi je da okrenem(rotiram) kontrolu (user kontrola sadrzi button-e, svaki put za 90°). Radi se o klasičnoj windows formi.
U WPF-u sam uspeo da to uradim sa samo 2 linije koda: Kôd:
RotateTransform rt = (RotateTransform)canvas1.RenderTransform; canvas1.RenderTransform = new RotateTransform(rt.Angle + 90, 50, 100); |
![]() |
![]() |
![]() |
#2 |
old school
Professional
Datum učlanjenja: 15.06.2005
Lokacija: Novi Beograd
Poruke: 448
Hvala: 21
70 "Hvala" u 46 poruka
![]() |
![]() Generalno, pisanjem novog OnPaint handlera.
Pogledaj recimo ovde: http://stackoverflow.com/questions/4...e-a-label-in-c
__________________
http://www.vesic.org | Blog: http://www.vesic.org/blog/ | Fina kolekcija programa: http://www.vesic.org/programi/ |
![]() |
![]() |
![]() |
#3 |
član
Certified
Datum učlanjenja: 15.09.2006
Poruke: 70
Hvala: 6
6 "Hvala" u 3 poruka
![]() |
![]() Uzeo sam panel kao custom kontrolu i po toj logici trebao bi samo ovo da ostavim:
Kôd:
protected override void OnPaint(PaintEventArgs e) { Graphics graphics = e.Graphics; graphics.RotateTransform(90); } |
![]() |
![]() |
![]() |
#4 |
majstor
Wrote a book
|
![]() Dozvolicu sebi da lupim ali mislim da trebas koristiti metod Render ili Refresh ili nesto tako jer je Show zapravo promjena statusa a ne iscrtavanje (nisam radio u VBu nikad, jesam u Delphiju).
|
![]() |
![]() |
![]() |
#5 |
član
Certified
Datum učlanjenja: 24.02.2009
Poruke: 55
Hvala: 0
11 "Hvala" u 7 poruka
![]() |
![]() Ako pogledas prethodno dati link, videces da se u OnPaint dogadjaju podesavaju parametri za transformaciju i tek onda crta string. Takodje radi se o Label kontroli a ne kao u tvom slucaju o kompozitnoj kontroli. Ono sto bi mogao da uradis je da u OnPaint dogadjaju pokupis bitmapu sa grafickog objekta, ocistis graficki objekat, i da onda tu bitmapu iscratas po grafickom objektu rotiranu za zeljeni ugao. Samo nisam siguran da ce se i regioni nad kojima su unutrasnje kontrole aktivne takodje rotirati.
|
![]() |
![]() |
![]() |
#6 |
član
Certified
Datum učlanjenja: 15.09.2006
Poruke: 70
Hvala: 6
6 "Hvala" u 3 poruka
![]() |
![]() U pravu si, ali probao sam i sa Refresh(), i ne radi, zato i menjam širinu panel-a za jedan pixel, onda mora da uradi OnPaint.
|
![]() |
![]() |
![]() |
#7 | |
član
Certified
Datum učlanjenja: 15.09.2006
Poruke: 70
Hvala: 6
6 "Hvala" u 3 poruka
![]() |
![]() Citat:
Mogu i ovo da uradim: Kôd:
Graphics g = panel1.CreateGraphics(); g.RotateTransform(90); E, kad bi mogao da cast-ujem Graphics objekat ponovo u panel bilo bi lepo. |
|
![]() |
![]() |
![]() |
#8 | |
Domagoj Horvat
Expert
|
![]() Citat:
http://msdn.microsoft.com/en-us/library/598t492a.aspx
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Mockup sajta - stranice i osnovne kontrole? | DejanVesic | Web aplikacije, web servisi i software | 7 | 14. 08. 2009. 19:10 |
Double float problem - resen, ali ima dodatni problem :0 | ljtruba | (X)HTML, JavaScript, DHTML, XML, CSS | 34 | 23. 08. 2008. 03:28 |