Programowanie w języku Delphi » Gotowce

Aplikacje zajmujące cały ekran monitora

            Jeśli tu jesteś to zapewne szukasz odpowiedzi na pytanie: jak stworzyć aplikację zajmującą cały ekran monitora. Na tej stronie prezentuje dwa sposoby rozwiązania tego problemu: Sposób I w którym nie widać paska tytułowego i Sposób II, w którym ten pasek jest widoczny.


Sposób I



            Należy ustawić w Inspektorze Obiektów właściwość formatki BorderStyle na bsNone, a WindowState na wsMaximized. Po uruchomieniu programu formatka zajmuje cały ekran. </p>

Sposób II



            Ten sposób jest bardziej skomplikowany. Na początku trzeba ustawić właściwość formatki FormStyle na   fsStayOnTop.
Teraz należy ustawić właściwość formatki WindowState na wsMaximized, aby uruchomić formatkę zmaksymalizowaną. Właściwość BroderIcons formatki odpowiada za ikonki wyświetlane na pasku tytułowym. Po jej rozwinięciu radziłbym ustawić właściwość bimaximize na false, aby uniemożliwić użytkownikowi zmaksymalizowanie formatki. Nie wiem jak to się dzieję, ale odkryłem że kiedy uruchamia się formatkę zmaksymalizowaną(czyli z właściwością WindowState ustawioną na wsMaximized) to zajmuję cały ekran, ale jak ją zmaksymalizuje użytkownik to pasek zadań staje sie widoczny. Teraz jeszcze należy ustawić właściwość formatki BorderStyle na bsSingle, aby uzytkownik nie mógł zmienić rozmiarów formatki. Ten sposób ma jednak wady: uzytkownik klikając pasek tytułowy może zmienić pozycję formatki na ekranie. Dlatego proponuje użyc takiego rozwiązania(treść tej procedury pochodzi z programu WinAmpWnd autorstwa pana Adam Boducha, a ja ją zmodyfikowałem na potrzeby tego zagadnienia). W sekcji private w edytorze kodu wpisujemy  deklarację następującej procedury:


procedure WndPosChanging(var Msg : TWMWINDOWPOSCHANGING); message WM_WINDOWPOSCHANGING;


Teraz w sekcji implementation piszemy teraz kod tej procedury:


procedure TNazwaFormatki.WndPosChanging(var Msg: TWMWINDOWPOSCHANGING);

begin

  Msg.WindowPos.X := -3;

  Msg.WindowPos.Y := -3;

end;


Tym właściwościom przypisujemy wartość -3, ponieważ gdy te wartości wynoszą 0 to prawa i dolna  krawędź formatki zostanie ucięta.
</p>

5 komentarzy

gorylek 2007-07-28 12:56

Hmmm... po co ten bardziej skomplikowany sposób ? Ten prosty spełnia swoje zadanie jak należy :D

Wolverine 2003-12-31 21:53

x := 3+3 ... a bardziej skomplikowany to x := 9-5+1+10-4-1-4. Nie wystarczy samo bsNone? Starajmy sie ulatwiac sobie zycie.

bicluc 2003-08-11 07:30

a nie lepiej wyłączyć cały pasek BorderStyle na bsNone i wtedy formal niezmieni położenia bo niebędzie paska :D proste.(aplikacja staje sie pełno-ekranowa )

Sebek 2003-01-31 09:44

Czcionka kolego mogła by być standardowa :)

Johny 2003-02-10 15:11

Właśnie tego szukałem thx