HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Tetszőleges Form átkapcsolása teljes képernyősre és vissza


Példaprogram letöltése

4509 bájt

Ha egy olyan Form-ot készítenénk, melyen lehetőséget szeretnénk biztosítani arra, hogy a felhasználó teljes képernyős módra is válthasson, akkor ennek legegyszerűbb módja a mellékelt komponens használata, mely egyszerűen biztosítja azt, hogy teljes képernyős üzemmód esetén a Form-ról eltűnjön a fejléc, a keret és a méret a képernyő méretével legyen azonos. A komponens természetesen arról is gondoskodik, hogy az eredeti állapotot helyre lehessen állítani.

A mellékelt példaprogram megnyitása előtt a FullScreen.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponens használatához a FullScreen logikai típusú property-t kell igazra vagy hamisra állítani. Ekkor fut a SetFullScreen eljárás. A property új értékétől függően végezzük a teljes képernyős beállítást, vagy az eredeti állapot visszaállítását.
procedure TFullScreen.SetFullScreen(const Value: boolean);
var
  f: TForm;
begin
  FFullScreen := Value;
  if Value<>FMode then begin
  FMode:=value;
  f:=Owner as TForm;
    if FMode then begin
Teljes képernyős mód beállításhoz eltávolítjuk a Form fejlécét a SetWindowLong hívásával.
      FOldWindowsLong:=GetWindowLong(f.Handle, GWL_STYLE);
      SetWindowLong(f.Handle, GWL_STYLE, GetWindowLong(f.Handle, GWL_STYLE) AND NOT WS_CAPTION);
Tároljuk a Form aktuális méretét és pozícióját, hogy ezt vissza is állíthassuk majd.
      FOldHeight:=f.Height;
      FOldWidth:=f.Width;
      FOldLeft:=f.Left;
      FOldTop:=f.Top;
Tároljuk továbbá a Form aktuális állapotát is, majd beállítjuk, hogy mérete egyezzen a képernyő méretével.
      FOldWindowsState:=f.WindowState;
      f.WindowState:=wsMaximized;
      f.ClientHeight:=Screen.Height;
      f.Clientwidth:=Screen.Width;
      f.Left:=0;
      f.Top:=0;
      f.Refresh;
    end else begin
Az eredeti állapot helyreállításához visszaállítjuk a Form fejlécét, méretét és pozícióját.
      SetWindowLong(f.Handle, GWL_STYLE, FOldWindowsLong);
      f.height:=FOldHeight;
      f.width:=FOldWidth;
      f.Left:=FOldLeft;
      f.Top:=FOldTop;
      f.WindowState:=FOldWindowsState;
      f.Refresh;
    end;
  end;
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
3047WindowsAz XML bemutatása1. rész
3059WindowsAz XML bemutatása2. rész
3068WindowsAz XML bemutatása3. rész
3077WindowsAz XML bemutatása - deklarációk4. rész
3086WindowsAz XML bemutatása - MSXML, XSLT5. rész
3094WindowsAz XML bemutatása - DTD6. rész
3105WindowsXML adatok megjelenítése Excel-ben7. rész
3114WindowsDokumentum hivatkozások az XML-ben8. rész
3123WindowsXML adattípusok9. rész
3132WindowsXML adatok HTML oldalakon10. rész
3141WindowsXML Notepad11. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 636. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |