HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Futási időben szerkeszthető feliratú gomb készítése


Példaprogram letöltése

4735 bájt

Ebben a példában egy olyan komponenst készítünk, amely egy nyomógomb, de ha megnyomjuk rajta az F2 billentyűt, akkor átváltozik szerkesztőmezővé. A szerkesztőmezőben módosíthatjuk a felirat szövegét, majd az ENTER billentyű lenyomásával aktiválhatjuk azt.

A mellékelt példaprogram megnyitása előtt az EditButton.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A gomb a TButton osztályból származik, így örökli annak minden tulajdonságát. Amikor futási idő alatt a gombon lenyomjuk az F2 billentyűt, akkor a gomb felületén megjelenik egy szerkesztőmező. Ebben átírhatjuk a gomb feliratát. Ha a szerkesztőmezőben az ESC billentyűt nyomjuk le, akkor a kijavított szöveg nem kerül alkalmazásra, hanem megmarad a gomb előző felirata. Ha a gomb feliratát az általunk beírt szövegre akarjuk módosítani, akkor nyomjuk le az ENTER billentyűt. Ilyenkor a szerkesztőmező eltűnik, és a gomb ismét rendes gombként funkcionál tovább, az új felirattal.
A gomb feliratának átírásához egy TEdit komponenst használunk. Ezt fel kell vennünk privát objektumként. Az objektum neve Edit lesz. A Create metódusban be kell állítanunk kezdőértékeit. Kezdésként, muszáj hogy láthatatlan legyen.
Azért, hogy a gomb és a szerkesztőmező megjelenítése között váltani tudjunk, mindkettőnek meg kell írnunk az OnKeyDown eseménykezelőjét.
A parancsgomb OnKeyDown eseménykezelője a ButtonKeyDown metódus. Ebben az eseménykezelőben kell gondoskodnunk a szerkesztőmező megfelelő megjelenítéséről.
if Key=VK_F2 then begin
  Edit.Left:=Width div 2 - (FOwner as TForm).Canvas.TextWidth(Caption) div 2;
  if Edit.Left<1 then Edit.Left:=1;
  Edit.Width:=Width-Edit.Left-2;
  Edit.Height:=(FOwner as TForm).Canvas.TextHeight(Caption);
  Edit.Top:=Height div 2-Edit.Height div 2 - 1;
  Edit.Text:=Caption;
  Edit.Visible:=True;
  Edit.SetFocus;
end;
Az F2 billentyű kódja VK_F2. Fontos, hogy a szerkesztőmező minden egyes megjelenítésekor állítsuk be annak Left, Top, Height és Width tulajdonságait, hogy a módosítandó szöveg ugyanott jelenjen meg, ahol a gomb felirata. A szerkesztőmezőben leütött billentyűket az EditKeyDown metódus segítségével felügyeljük. Az ENTER kódja VK_RETURN, az ESC-é VK_ESCAPE.

Cikksorozat

#IDKategóriaCikk címeSorozat
1099DelphiDBChart komponens felhasználása1. rész
1113DelphiTDBChart komponens2. rész
1122DelphiTDBChart komponens3. rész
1132DelphiTDBChart komponens4. rész


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