Hogyan zárjuk a modális ablak

Hogyan zárjuk a modális ablakot?

Van egy modális formában nincs címe:
BorderStyle = bsNone
KeyPreviw = True

Valamennyi forma Bevel1 területen lezárja komponensnek és a
teljesen befedi a Label1 címke
Próbálja két lehetőség, hogy lezárja a formában - nem zárt.
Hogy lehet, hogy le lehet zárni? Mondd, kérlek.

eljárás TForm1.FormDblClick (Sender: TObject);
kezdődik
# XA0; Form1.Close;
végén;

eljárás TForm1.Label1DblClick (Sender: TObject);
kezdődik
# XA0; Form1.Close;
végén;

Kinek te Form1?

[0] PZ # XA0; (25.12.06 12:51)
A második lehetőség működik.

Form1 - az # XA0 jelentése ugyanaz modális űrlapot, akkor megpróbálja bezárni


> Form1 - jelentése # XA0 jelentése ugyanaz modális űrlapot, akkor megpróbálja bezárni
>

Van valamilyen okból nem működik. Megnézem újra.

Nem megháromszorozódott lehetőség nem működik

eljárás TForm1.Label1DblClick (Sender: TObject);
kezdődik
Form1.ModalResult: = mpOk; # XA0; // Error Undeclared Azonosító
Form1.Close;
végén;

Van egy másik formája nincs neve IMT


> Form1.ModalResult: = mpOk; # XA0; // Error Undeclared Azonosító

mrOK
Bezárás, majd nem szükséges

> [7] PZ # XA0; (25.12.06 13,34)

és még mindig működik

Nem hiszem el. Bár én nem értem a forma kérdését egy változót.

> Form1.ModalResult: = mpOk; # XA0; // Error Undeclared Azonosító

ez valószínűleg az a tény, hogy a jogot, hogy írjon mrOk


> De én még mindig dolgozik

Meg kell adnunk a megfelelő Form1
Csak ő nafig kell?

Rögzített mpOk -> mrOK

Nem értem, hogy milyen adott változó?
És Form1 - tényleg egy modális formában, hogy azt be kell zárni, de ez nem szerepel a projektben, és dinamikusan létrehozott fő formája, # XA0; Timer:

# XA0; # XA0; # XA0, Ha majd
# XA0; # XA0; # XA0; # XA0; # XA0; Próbálja
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; Form1: = TForm1.Create (tulajdonos);
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0;.
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; Form1.ShowModal;
# XA0; # XA0; # XA0; # XA0; # XA0, végül
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; FreeAndNil (Form1);
# XA0; # XA0; # XA0; # XA0; # XA0; End;

Talán egy időzítő nem zárja ki ezt az űrlapot?

és rákattint az X tetején. sarokban nem zárja be az űrlapot? (Időzítő nem érinti a lezárás)

Nem olvasta a kérdést alaposan: a forma cím nélkül

majd dblclick a Labelle megoldja a problémát

Én is úgy gondolom, de ez nem oldja meg.


> Én is úgy gondolom, de ez nem oldja meg.

eléred ott egyáltalán?

Őszintén szólva nem értem. Meg kell tennem. A teljes projekt kód - ez elég nagy, mert nincs mód. És minden, ami kapcsolatos a kérdésem, azt hiszem, mondtam.

Nem érted, oké, de nem érti, hogy mi már korábban közöltük, hogy a Form1 változó nincs szükség?

> [22] PZ # XA0; (25.12.06 14:55)

Hozzon létre egy új projektet két formája - az egyik a fő gomb a modális hívást egy második, a második pedig a szög és címke határok nélkül nevezték ki ill. módszereket. és íze is!

Label kifeszített formában allClient. Tehát, hogy ne oda?

Nos, mondd, akkor találja magát, vagy nem? Töréspontot jövedelem?

Ja, és figyelni, hogy [23] - Vegye Form1 adja módszerek és soha nem tette. (Helyébe az önálló, ezért ha azt szeretnénk, hogy adjon meg egy osztály)

self is felesleges

Én el Form1. Lehet, hogy ez nem tisztességes, hogy írok a Form1, de a munka a valamit, ami nem hagyja abba.

Nos, mondd, akkor találja magát, vagy nem? Töréspontot jövedelem?

Nézzük felfüggeszti a vitát. Már kapott egy csomó ajánlásokat. A csendes környezetben poeksperimenituyu lehet megoldást találni.
Köszönet mindenkinek, aki részt vett ebben a nehéz párbeszédet.
Üdvözlettel, PZ

> [29] PZ # XA0; (25.12.06 15:32)
> Lehet, hogy ez nem tisztességes, hogy írok a Form1, de a munka egy
> Ez nem zavarja

Ítélve az a tény, hogy itt van, nyilván zavarja.

Esetleg zavarja. Én így nem írok.

Szóval, mit találtam ki. Van egy eljárást, hogy tudja mozgatni az ablakot tartsa lenyomva a bal egérgombot:

eljárás TForm1.Label1DblClick (Sender: TObject);
kezdődik
# XA0; ModalResult: = mrOk;
végén;

Most én vagyok teljesen zavarba. Nem tudom, hogyan kell tartani a mozgásképesség az ablakot, és lehunyta a hiábavalóság.
Ha valaki tud kérem segítsen.

És mit akar, ő maga lógott a gomb két egymást kölcsönösen kizáró dolog.

tegye a műveletet csak wm_mousemove

Alt-F4 nem működik?

> [36] PZ # XA0; (26.12.06 13:06)

Próbáltam - működik. De etmi gombok soha nem használja, nem tetszik.
Szélsőséges esetben ez szükséges.

Mit szólnál, hogy lezárás a felvezető WM_LBUTTONDBLCLK

Azt sajnos Windows Message nem barátság.
Lehet, hogy írjon egy példát.

próbáltam # XA0; PostMessage (fogantyú, WM_SYSCOMMAND, SC_CLOSE, 0). továbbá nincs reakció.

> [39] PZ # XA0; (26.12.06 13:20)

Mindkét próbáltam? dobja kódot. Nem tudom, hogy hol és mit is sikerült elkapjam

eljárás TForm1.Label1DblClick (Sender: TObject);
kezdődik
# XA0; PostMessage (Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
végén;

. Ez, azt most két obrabotchikka:

eljárás TForm1.WMNCHitTest (var M: TWMNCHitTest);
kezdődik
örökölt;
ha M.Result = htClient majd M.Result: = htCaption;
végén;

eljárás TForm1.Label1DblClick (Sender: TObject);
kezdődik
PostMessage (fogantyú, WM_SYSCOMMAND, SC_CLOSE, 0);
végén;

figyelembe véve
> I, sajnos, egy Windows-üzenet nem barátság.

Azt javasoljuk, hogy használja a hagyományos események vozmite például a szomszédos Delfivorld:

Draging - kijelölésére az időszak, amikor a felhasználó mozgatja az egeret, miközben az egér gombját,
X0 Y0 - a pont koordinátáit, amelyek felett volt szendvics egérgombbal
Az alábbiakban a rendezvények alkotják onMouseDown, onMouseMove és onMouseUp:

eljárás TForm1.FormMouseDown (Sender: TObject; gomb: TMouseButton;
Shift: TShiftState; X, Y: Egész szám);
kezdődik
# XA0; draging: = true;
# XA0; x0: = x;
# XA0; y0: = y;
végén;

eljárás TForm1.FormMouseUp (Sender: TObject; gomb: TMouseButton;
Shift: TShiftState; X, Y: Egész szám);
kezdődik
# XA0; draging: = false;
végén;

eljárás TForm1.FormMouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Egész szám);
kezdődik
# XA0, ha draging = igaz, akkor
# XA0; kezdődik
# XA0; # XA0; Form1.Left: = Form1.Left + X - X0;
# XA0; # XA0; Form1.top: = Form1.top + Y - Y0;
# XA0; end;
végén;

akkor nem lesz felesleges perehvatyvatsya

estesstvenno események kapaszkodni események, mint a forma, és a címke.

Mint mindig, minden zseni egyszerű!
Normális esetben ez működik.
Ez összezavart Orlik ezt az eljárást ablak áthelyezéséhez cím nélkül. Valahogy azt hittem, hogy enélkül nem más, mint lehetetlen megmozdulni az ablakot.

Köszönöm, novill ismét köszönhetően mind-mind, aki részt vett a vitában.
Üdvözlettel, PZ.

Boldog Új Évet!

Igen, természetesen. Ezt azért tettem,