Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Poruke

[es] :: Pascal / Delphi / Kylix :: Poruke

[ Pregleda: 3134 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan Milosevic

Član broj: 67
Poruke: 932
*.rcub.bg.ac.yu



+31 Profil

icon Poruke15.01.2003. u 13:39 - pre 259 meseci
Kako da presretnem poruku koje je poslata mom prozoru .Da proverim da nije stetna za moj program i onda da odlucim dali da je propustim ili ne.
Konkretan primer zelim da moj sakriveni prozor ostane sakriven bez obzira dali mu neko salje poruku da postane vidljiv.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: Poruke16.01.2003. u 09:15 - pre 259 meseci
Vrlo lako. Pogledaj u helpu WindowProc i WndProc (ako se ne varam, klasa TControl). Imas potpunu kontrolu nad svim porukama koje dobijas od sistema.

Rajko
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.rcub.bg.ac.yu



+31 Profil

icon Re: Poruke16.01.2003. u 12:07 - pre 259 meseci
Probao sam sa WinProc i to radi ali samo za Formu dok dugmad i drugi objekti postaju vidljivi.Sto znaci da bi trebao da pravim procedru za svaku komponentu.Meni treba neki laksi nacin koji ce preko jedne funkcije kontroklisati ceo prozor i sve njene komponente.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: Poruke17.01.2003. u 19:46 - pre 258 meseci
Vidis, zaboravio sam da to tako radi sa porukama. Znaci, sub-kontrole ce primiti nezavisno svoje poruke i odreagovati na njih. Ali, mozda ima resenje i za to...

Evo ideje. Napravio si svoju WndProc proceduru za formu, OK. Sada stupa na scenu WindowProc. WindowProc je POINTER koji gadja na WndProc. Vec naslucujes; sa WindowProc mozes da podmetnes svoju 'WndProc-like' proceduru koja ce da radi kako ti hoces, ali moze i da poziva default WndProc gde treba.
Dakle, smisli nacin da proceduru WndProc tvoje forme podmetnes (preko pointera WindowProc) svim njenim sub-kontrolama (a takodje i sub-kontrolama tih kontrola), i resio si problem. Ne bi trebalo da je tesko: mala rekurzivna metodica i to je to.
Pozdrav

Rajko
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.rcub.bg.ac.yu



+31 Profil

icon Re: Poruke21.01.2003. u 11:29 - pre 258 meseci
Probao sam i tu varijantu ali mi prijavljuje gresku ' Stack Overflow' .
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.ppp-bg.sezampro.yu



+62 Profil

icon Re: Poruke22.01.2003. u 21:47 - pre 258 meseci
'Stack overflow' znaci da si se zeznuo u rekurziji. Prekontrolisi ponovo metod za dodeljivanje svog handler-a sub-kontrolama, pa ako ne resis, baci kod na grupu da ga razbijemo.
Pozdrav

Rajko
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: Poruke24.01.2003. u 18:30 - pre 258 meseci
Ok, malo sam pogledao po kodu u vezi ovog problema; ima zez. Evo o cemu se radi: jednim handler-om ne mozes pozivati default handler-e vise razlicitih kontrola. Ali, i tu ima leka; evo ti jedan predlog:

1) na tvojoj formi napravis jedan property CurControl tipa TControl;
2) prepravis tvoju WndProc proceduru od forme tako da izgleda kao nesto ovako:

procedure TMyForm.WndProc(var Message: TMessage);
begin
GetParentForm(self).CurControl := self;
DoWndProc(Message);
end;

procedure TMyForm.DoWndProc(var Message: TMessage);
begin
if .... then // neki tvoj uslov oko message-a
else
CurControl.WndProc(Message); // default handler doticne kontrole
end;

function GetParentForm(acontrol: TControl): TMyForm;
begin
if acontrol is TMyForm then
result := acontrol
else
result := GetParentForm(acontrol);
end;

3) ovo je pisano iz glave (na brzinu), ali moze da se osposobi da radi. Probaj, pa javi sta si uradio.

Pozdrav

Rajko
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: Poruke24.01.2003. u 18:33 - pre 258 meseci
Ne, ni ovaj primer ne valja; batali moju gornju poruku. Uh, nemam dovoljno vremena da se ozbiljno posvetim tvom problemu, jer radim od jutra do sutra.
Kad nadjem vremena, smislicu ti resenje.
Poz,

Rajko
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Poruke

[ Pregleda: 3134 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.