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

WMSysCommand i onemogucavanje move i minimize

[es] :: Pascal / Delphi / Kylix :: WMSysCommand i onemogucavanje move i minimize

[ Pregleda: 1867 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon WMSysCommand i onemogucavanje move i minimize03.11.2007. u 20:46 - pre 200 meseci
kada u program ubacim WMSysCommand koji treba nesto da odradi kada se klikne na close on tada onemoguci move i minimize.
imali neko drugo resenje da se nesto odradi kada se klikne na Close ili
sa WMSysCommand treba nesto omoguciti da bi radilo minimize i move ??
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: WMSysCommand i onemogucavanje move i minimize03.11.2007. u 21:34 - pre 200 meseci
Šta fali događajima: OnClose() ili OnCloseQuery() ?

P.S.

Čak i to sa WM_SYSCOMMAND treba da radi lepo, verovatno si nesto prevideo...
 
Odgovor na temu

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon Re: WMSysCommand i onemogucavanje move i minimize04.11.2007. u 20:05 - pre 200 meseci
ne kazem nista na OnClose() ili OnCloseQuery() ali me jako interesuje zasto blokira MOVE i MINIMIZE kada u program ubacim WMSysCommand,u dva programa je imam i u oba blokira pomenuto.Sve funkcionise OK ali ne mogu program pomerati niti minimizovati.

u type stoji
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
if (Message.CmdType and $FFF0 = SC_CLOSE) then
begin
showmessage('Gasi se program');
end;
end;
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: WMSysCommand i onemogucavanje move i minimize04.11.2007. u 20:26 - pre 200 meseci
Koliko se ja razumem u medicinu, fali ti na kraju bloka koda nešto što se zove default message handler.

U C++ Builderu se to obično radi sa:
TForm::WndProc( Message );
odnosno nekad:
TForm::Dispatch(&Message);

Sad sam malo Google-ovao (kako bi to trebalo u Delphiju) i čini mi se da kod tebe treba nešto kao:

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
if (Message.CmdType and $FFF0 = SC_CLOSE) then
begin
showmessage('Gasi se program');
end
else inherited; { a ponekad čak i bez else, ako hoćeš da zadržiš i default ponašanje }
end;

... ma šta to inherited značilo u Delphiju. Pokušaj sam nešto u tom pravcu (pogledaj pre svega gotove primere na tu temu) ili čekaj da se javi neko ko poznaje Delphi.
 
Odgovor na temu

anon68680

Član broj: 68680
Poruke: 528
*.dynamic.sbb.co.yu.



+14 Profil

icon Re: WMSysCommand i onemogucavanje move i minimize04.11.2007. u 20:58 - pre 200 meseci
ako predhodno resenje ne radi, probaj da uradis nesto tipa:

if (Message.CmdType and $FFF0 = SC_MINIMIZE) then
begin
form1.minimize;
end
 
Odgovor na temu

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon Re: WMSysCommand i onemogucavanje move i minimize04.11.2007. u 21:01 - pre 200 meseci
Ne mogu verovati da je falilo 'inherited'

sada sam gledao po googlu i stvarno fali 'inherited;'
kako sam to predviseo nemam pojma.

Hvala ti X Files na pomoci,
mozda nekom ovo zatreba.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: WMSysCommand i onemogucavanje move i minimize

[ Pregleda: 1867 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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