HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Egyedi naptár készítése


Példaprogram letöltése

6492 bájt

Ebben a cikkben egy olyan programot készítünk, ami az aktuális hónapot jeleníti meg a képernyőn. A megjelenítéshez felhasználja a beállított Windows háttérképet. Az ablak tetszőleges helyre mozgatható, az utolsó pozíciót megjegyzi, és a legközelebbi indításkor ugyanott jelenik meg.
A naptár kirajzolása a WMPaint eljárásban történik, ami a WM_PAINT esemény bekövetkezésekor fut le, vagyis minden esetben, amikor szükséges az ablak területének frissítése. A kép előállításához létrehozunk egy TBitmap típusú objektumot (bmp). Erre azért van szükség, mert a képet pixelenként fogjuk manipulálni, és ez a Canvas Pixels tömbjén keresztül nagyon lassú lenne.

A PaintDesktop függvénnyel átmásoljuk a Windows háttérkép azon részét a Canvas-ra, amely pont az ablak alatt található. Ez a függvény csak a képet másolja, az ikonokat nem!
  
  PaintDesktop(Canvas.Handle);
Miután megtörtént a háttérkép másolása a Canvas-ra, a Canvas-t átmásoljuk a bmp képre, és ott folytatjuk tovább a rajzolást.


A Form mozgathatóságáról is gondoskodnunk kell, mivel az nem rendelkezik fejléccel. A mozgatáshoz a Form területén történt egér gomb lenyomásakor intézkedünk.
procedure TForm1.WMLButtonDown;
begin
  inherited;
  if Msg.wParam=MK_LBUTTON then begin
    ReleaseCapture;
    Perform(WM_SYSCOMMAND, SC_MOVE+2, 0);
  end;
end;


Cikksorozat

#IDKategóriaCikk címeSorozat
3333WindowsNet Shell parancsok1. rész
3367WindowsNet Shell parancsok2. rész
3396WindowsNet Shell parancsok3. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 318. 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 |