[ seymour @ 07.05.2005. 20:10 ] @
Imam sledeci problem u aplikaciji koju razvijam.Aplikacija se sastoji od glavne forme koja je MDIParent i proizvoljnog broja MDIChild formi gde svaka sadrzi PaintBox na sebi.Recimo da u aplikaciji imam neko stanje gde se na svako pomeranje misa vrsi iscrtavanje nije bitno cega na paintbox-u aktivnog child-a.I to sve treba da se desava dok taster misa nije pritisnut,a na pritisak tastera misa(na mouse down) se izlazi iz tog stanja.Problem je sledeci:u ovom stanju potrebno je da mi se registruje mouse move samo na paintBoxu(znaci i ako izadjem kursorom misa van paintBox-a treba mi poziv mog PaintBox::onMouseMove eventa(treba mi pozicija kursora misa relativna u odnosu na PaintBox),a ne mouseMove eventa glavne forme).Hocu da eliminisem mogucnost biranja kontrola glavne forme(toolbar,meni...) kad se nalazim u tom stanju i automatsku promeni izgleda kursora koju vrsi borland.Moja ideja je da zaobidjem borlandove handlere za dogadjaje(napisao sam je otprilike,naravno sintaksno je neispravna),a voleo bih da mi odgovorite sto detaljnije(sa punim kodom) za resenje. while (!leftButtonDown){ //kako to proveriti(koja api funkcije)? p=mouseCursor; //apsolutna pozicija kursora na ekranu(mislim da se u //Screen promenljivoj ovo moze naci) p=convertToPaintBox(p); //konverzija apsolutnih koordinata u relativne u odnosu //na poziciju paintBox-a(koju funkciju za to treba //pozvati?) if (p.x!=prosli.x || p.y!=prosli.y){ //..radi vec nesto--nije bitno prosli=p; } } |