A vágólap alapjai (vágás / másolás / beillesztés)

A Windows vágólap képviseli minden olyan szöveg vagy grafika tárolóját, amelyet kivágtak, lemásoltak vagy beillesztettek egy alkalmazásba. Ez a cikk bemutatja, hogyan lehet a TClipboard objektumot használni a kivágás-beillesztés funkciók megvalósításához a Delphi alkalmazásban.

A vágólap általában

Mint valószínűleg tudod, a vágólap csak egy darab azonos típusú adatot tárolhat vágásra, másolásra és beillesztésre egyszerre. Ha új információkat küldünk ugyanabban a formátumban a vágólapra, akkor töröljük a korábbi eseményeket, de a a vágólap tartalma a vágólap mellett marad, még akkor is, ha ezeket a tartalmakat beillesztjük egy másik programba.

TClipboard

Annak érdekében, hogy a Windows vágólapot alkalmazásokban használhassuk, hozzá kell adnunk a ClipBrd egység a projekt használati záradékához, kivéve, ha a vágást, másolást és beillesztést azokra az alkatrészekre korlátozjuk, amelyek már rendelkeznek a vágólap módszereinek beépített támogatásával. Ezek az összetevők a TEdit, TMemo, TOLEContainer, TDDEServerItem, TDBEdit, TDBImage és TDBMemo.

instagram viewer

A ClipBrd egység automatikusan ábrázolja a vágólapnak nevezett TClipboard objektumot. Fogjuk használni a CutToClipboard, Másolja a vágólapra, PasteFromClipboard, Egyértelmű és HasFormat módszerek a vágólap műveleteivel és a szöveg / grafikai manipulációk kezelésére.

Szöveg küldése és letöltése

Annak érdekében, hogy szöveget küldjön a vágólapra, a vágólap objektumának AsText tulajdonságát kell használni. Ha például azt akarjuk, hogy elküldjük a húr a SomeStringData változóban található információkat a vágólapra (törölve bármilyen szöveget is) a következő kódot fogjuk használni:

felhasználások ClipBrd; ...
Vágólap. AsText: = SomeStringData_Variable; 

A vágólapon a szöveges információk beolvasására használjuk

felhasználások ClipBrd; ...
SomeStringData_Variable: = Vágólap. AsText; 

Megjegyzés: Ha csak a szöveget akarjuk lemásolni, mondjuk a Szerkesztés összetevőből a vágólapra, akkor nem kell a ClipBrd egységet belefoglalni a felhasználási záradékba. A TEdit CopyToClipboard módszere a kiválasztott szöveget a szerkesztésvezérlőben a vágólapra másolja CF_TEXT formátumban.

eljárás TForm1.Button2Click (Feladó: TObject); kezdődik// a következő sor választja a // MINDEN szöveget a szerkesztésvezérlőben {Edit1.SelectAll;} Edit1.CopyToClipboard; vég; 

Vágólap Képek

Ahhoz, hogy a vágólapból grafikus képeket szerezzen, a Delphi-nek tudnia kell, hogy milyen típusú képet tárolnak ott. Hasonlóképpen, a képek vágólapra történő átviteléhez az alkalmazásnak el kell mondania a vágólapra, hogy milyen grafikát küld. A Format paraméter néhány lehetséges értéke a következő; sok más vágólap-formátum is található a Windows által.

  • CF_TEXT - Szöveg mindegyik sor végével a CR-LF kombináció.
  • CF_BITMAP - Windows bitmap grafika.
  • CF_METAFILEPICT - Windows metafájl grafika.
  • CF_PICTURE - TPicture típusú objektum.
  • CF_OBJECT - Bármely tartós tárgy.

A HasFormat módszer True értéket ad vissza, ha a vágólapon lévő kép megfelelő formátumú:

ha Vágólap. HasFormat (CF_METAFILEPICT) azután ShowMessage ('A vágólapnak metafájlja van'); 

A Hozzárendelés módszerrel képet küldhet (hozzárendelhet) a vágólapra. Például a következő kód másolja a bitképet a MyBitmap nevű bitképes objektumról a vágólapra:

 Vágólap. Hozzárendelés (MyBitmap); 

A MyBitmap általában a TGraphics, TBitmap, TMetafile vagy TPicture típusú objektumok.

A képnek a vágólapból történő beolvasásához a következőket kell tennünk: ellenőrizni kell a vágólap aktuális tartalmának formátumát, és a célobjektum Assign módszerét kell használni:

{Helyezzen el egy gombot és egy képvezérlőt az űrlapra}} {A kód végrehajtása előtt nyomja meg az Alt-PrintScreen billentyűkombinációt}felhasználások clipbrd;... eljárás TForm1.Button1Click (Feladó: TObject); kezdődikha Vágólap. HasFormat (CF_BITMAP) azután Image1.Picture. Bitmap. Hozzárendelés (vágólap); végén; 

Több vágólap vezérlés

A vágólap többféle formátumban tárolja az információkat, így különféle formátumokban továbbíthatjuk az alkalmazásokat az alkalmazások között. Amikor a Delphi TClipboard osztályával a vágólapról információkat olvasunk, a szabványos vágólap formátumokra korlátozódunk: szöveg, képek és metafájlok.

Tegyük fel, hogy két különböző Delphi alkalmazás között dolgozik; hogyan definiálná az egyedi vágólap formátumot az adatok küldéséhez és fogadásához a két program között? A feltárás céljából mondjuk, hogy megpróbál egy Paste kódot menü tétel. Azt akarja, hogy ki lehessen kapcsolni, ha a vágólapon nincs szöveg (például).

Mivel a vágólapra vonatkozó teljes folyamat a színfalak mögött zajlik, nincs olyan TClipboard osztály módszer, amely tájékoztassák Önt, ha a vágólap tartalmában valamilyen változás történt. Az ötlet az, hogy bekapcsol a vágólap értesítő rendszerébe, így hozzáférhet az eseményekhez és válaszolhat az eseményekre, amikor a vágólap megváltozik.

A nagyobb rugalmasság és a funkcionalitás élvezete érdekében a vágólap módosítási értesítéseivel és az egyedi vágólap formátumokkal - a vágólap meghallgatásával - foglalkozni kell.

instagram story viewer