HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Grafikai nyomógomb


Példaprogram letöltése

28384 bájt

Ha egy olyan multimédiás alkalmazást szeretnénk készíteni, aminek felülete nagyban hasonlít egy WEB oldalhoz, akkor a Delphi-ben alapesetben található komponensekkel ezt nem nagyon tudjuk megoldani. Most egy olyan komponenst mutatunk be, amivel könnyedén készíthetünk olyan gombokat vagy kapcsolókat, melyek beleolvadhatnak a háttérbe, vagyis a felhasználói felület tetszés szerint kialakítható.
A mellékelt példaprogram megnyitása előtt a GfxButton.pas-ban lévő komponenst telepítenie kell a Delphi alá.

A komponenshez különböző képeket rendelhetünk, melyek bizonyos esemény bekövetkezésekor jelennek meg. Külön kép tartozik a gomb normál állapotához, a lenyomott állapothoz, a kikapcsolt állapothoz, valamint külön kép jelenhet meg akkor, amikor az egér a komponens felett található.

A komponens megjelenítését most is a Paint metódus végzi, amely automatikusan végrehajtódik amikor szükséges.

Ha az Enabled property igaz, akkor megvizsgáljuk, hogy az FDown változó értéke igaz-e. Ez akkor igaz, ha a gomb lenyomott állapotban van. Ilyenkor a BitmapDown property-ben megadott képet jelenítjük meg. Ha ez nincs megadva, akkor a Bitmap property-ben megadott képet jelenítjük meg.
  if Enabled then begin
    if FDown or FMouseDown then begin
      if FBitmapDown.Empty then begin
        DrawBitmap(FBitmap);
      end else begin
        DrawBitmap(FBitmapDown);
      end;
Ha az FDown változó értéke hamis, akkor megvizsgáljuk, hogy az FMouseOver változó értéke igaz-e. Ez akkor igaz, ha az egér a komponens felett van. Ebben az esetben a BitmapOver property-ben beállított képet jelenítjük meg, illetve ha az nincs megadva, akkor a Bitmap property-ben beállított képet.
    end else begin
      if FMouseOver then begin
        if FBitmapOver.Empty then begin
          DrawBitmap(FBitmap)
        end else begin
          DrawBitmap(FBitmapOver);
        end;
Ha az FMouseOver változó értéke hamis, akkor a Bitmap property-ben megadott képet jelenítjük meg.
      end else begin
        DrawBitmap(FBitmap);
      end;
    end;
Ha az Enabled property értéke hamis, akkor a BitmapDisabled property-ben beállított képet fogjuk megjeleníteni, de ha ez nincs megadva, akkor itt is a Bitmap property-ben beállított kép jelenik meg.
  end else begin
    if FBitmapDisabled.Empty then begin
      DrawBitmap(FBitmap);
    end else begin
      DrawBitmap(FBitmapDisabled);
    end;
  end;
end;
A fenti forrást megnézve látható, hogy a képek megjelenítését a DrawBitmap eljárás végzi. Ez a komponens egy belső eljárása, ami a következőképpen néz ki:

Ha a paraméterként megkapott Bitmap üres, vagyis nincs kép megadva, akkor csak egy szaggatott vonallal megrajzolt keretet rajzolunk a komponens köré. Ezt is csak akkor, amikor szerkesztési időben vagyunk, tehát futtatás közben ez nem látszik. Ha a fenti kódot jól megnézzük, akkor látható, hogy szerkesztési időben is csak akkor fordulhat ez elő, ha a Bitmap property-ben nem adtunk meg képet.

Cikksorozat

#IDKategóriaCikk címeSorozat
1063DelphiInterbase 6 alkalmazása Delphi-ben1. rész
1072DelphiInterbase 6 alkalmazása Delphi-ben2. rész
1084DelphiInterbase 6 alkalmazása Delphi-ben3. rész
1092DelphiTIBTable komponens4. rész
1102DelphiTIBTransaction komponens5. rész
1111DelphiTIBQuery komponens6. rész
1120DelphiTIBStoredProc komponens7. rész
1128DelphiTIBDataSet komponens8. rész
1141DelphiTIBSQL komponens9. rész
1150DelphiTIBSQLMonitor komponens10. rész
1159DelphiTIBUpdateSQL komponens11. rész
1167DelphiIBEvents komponens12. rész
1177DelphiIBDatabaseInfo komponens használata13. rész
1183DelphiTIBConfigService komponens14. rész
1192DelphiTIBSecurityService komponens15. rész
1204DelphiTIBServerProperties komponens16. rész
1213DelphiTIBBackupService komponens17. rész
1222DelphiTIBRestoreService komponens18. rész
1231DelphiTIBValidationService komponens19. rész
1240DelphiTIBStatisticalService komponens20. rész
1249DelphiTIBLogService komponens21. rész
1258DelphiTIBUninstall komponens22. rész
1267DelphiInterBase Express komponenscsomag23. rész


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