Pozdravljeni,
v projektu, ki ga razvijamo, zelimo omogociti urejanje oken, s katerim bi uporabniki sami lahko razvrstili kontrole po formi. Vecina kontrol se obnasa "spodobno", probleme povzrocata predvsem TextBox in ComboBox, saj uporabnik s klikom na kontrolo dobi caret. TextBox sicer lahko nastavimo na ReadOnly, da ne more pisat, ampak caret ostane. Kontrole ne morem onemogocit, ker potem ne dobim nobenih dogodkov. WM_LBUTTONDOWN ne morem speljat mimo base.WndProc, ker potem spet ne dobim naslednjih dogodkov. Skratka, videti je, da bo potrebno povoziti Paint metodo in kontrole narisati...
Za to sicer obstaja lustna rec, imenovana ControlPaint, ki zna nekaj pocet, vendar se (za moje pojme) ne ozira prevec na sistemske nastavitve (teme), zato me zanima, ali obstaja nacin, s katerim bi lahko narisal kontrolo as-is pri trenutno izbrani temi.
Za vaso pomoc/mnenja se vam ze vnaprej zahvaljujem!
lp,
Gregor
lemmy - četrtek, 29. marec 2007
V resnici imamo spisano kar svoje metode, ki premikajo/resizajo kontrole. Ce mi uspe primer na gornjem linku usposobit, potem bom pogledal, kako deluje. Skratka, premikanje je povsem enako za vse objekte na formi. Problem je le, da sta textbox in combo "input" objekta, ki pac zacneta utripat.Drugace sem pa nasel razrede System.Windows.Forms.*Renderer, ki uporabljajo trenutno temo in risejo kontrole. Zal se vedno ne vem, kako je lahko privzeti textbox malcek drugacen od tega, ampak bolje nekaj kot nic. Je pa seveda problem, ker lahko uporabnik nima teme (standard win izgled); v tem primeru tile razredeki odpovedo. lp,Gregor
spirit1 - četrtek, 29. marec 2007
na kaksen nacin pa premikas ostale kontrole?a si uporabil tale nacin: http://www.codeproject.com/vb/net/RuntimeMovableControls.aspali kaj drugega?