Ablakok.  Vírusok.  Jegyzetfüzetek.  Internet.  hivatal.  Segédprogramok.  Drivers

Visual Component Library (VCL) Delphi a megjelenítéshez grafikus információk a következő vizuális összetevőket biztosítja számunkra: Kép (kép), PaintBox (rajzablak), DrawGrid (képtáblázat), Chart (diagramok és grafikonok), Animate (videoklipek kimenete) és Form. Ezek az összetevők rendelkeznek egy Canvas tulajdonsággal (lásd fent), amely hozzáférést biztosít az egyes pixelekhez. Természetesen nem kell képpontról pixelre rajzolni a Delphi grafikával való munkához, a Delphi rendszer hatékony eszközöket biztosít a grafikával való munkához.

Nézzük meg közelebbről a fenti összetevőket:

Képösszetevő (kép)

Ez a TImage osztály egyik objektuma. Grafikus fájlokból olvasott képek megjelenítésére szolgál. Alapértelmezés szerint az űrlapok felületén *.bmp formátumban jelenik meg. A képek jpg formátumú megjelenítéséhez a JPEG modult bele kell foglalni a uses direktívába. Az Összetevő paletta Kiegészítő lapján található.

Miután az Image komponenst az űrlapra helyezte, egy kiválasztott téglalap alakú terület alakját veszi fel.

9. ábra - Képkomponens az űrlapon

A kívánt kép kiválasztására szolgáló párbeszédpanel megnyitásához tegye a következőket az Object Inspector segítségével. Ehhez keresse meg a Kép tulajdonságot, és kattintson a tőle balra lévő három pontra. Megnyílik a Képszerkesztő ablak, és válassza a Betöltés lehetőséget, a megnyíló ablakban válassza ki a képfájlt.

Ez programozottan is megtehető a Picture tulajdonság LoadFromFile metódusának meghívásával:

Image1.Picture.LoadFromFile("név_kép.jpeg") ;

ahol a név_kép.jpeg a fájl neve.

8. táblázat – Az Image komponens főbb tulajdonságai

Ingatlan

Leírás

A komponens mezőben megjelenő kép

Alkatrész méretei. Ha ezek a méretek kisebbek, mint az illusztráció mérete, és a Strech, AutoSize és Proportional tulajdonságok False értékre vannak állítva, akkor a kép egy része megjelenik.

Lehetővé teszi a képek automatikus méretezését torzítás nélkül. A méretezés végrehajtásához az AutoSize tulajdonság értékének False-nak kell lennie

Lehetővé teszi a kép automatikus méretezését (tömörítését vagy nyújtását) az Image komponens méretének megfelelően. Ha a komponens mérete nem arányos a kép méretével, akkor a kép torz lesz.

Lehetővé teszi egy összetevő automatikus átméretezését a kép méretének megfelelően

Lehetővé teszi a kép helyzetének vízszintes meghatározását a Kép összetevő mezőjében, ha a kép szélessége kisebb, mint az összetevő szélessége.

Felület grafika megjelenítéséhez

Meghatározza a kép átlátszó háttérszínét

1. példa: Írjon egy képnézegetőt az Image komponens használatával. A programnak a következő jellemzőkkel kell rendelkeznie:

  • képek megtekintése egy mappában;
  • Tekintse meg a képet teljes méretben vagy az ablak méretének leginkább megfelelő formátumban;
  • · képfájlok kezelése, valamint képek nyomtatása, mentése, törlése és módosítása;
  • szükség esetén nyissa meg a képet a szerkesztőprogramban;

10. ábra - Programablak az indítás előtt

Projekt létrehozása:

  • 1. Hozzon létre egy mappát a programfájlok számára, és indítsa el a Delphi integrált fejlesztői környezetet.
  • 2. Adjon hozzá összetevőket az űrlaphoz:

Először az Image komponenst helyezzük el az űrlapon, a fő komponenst, amellyel dolgoznunk kell. Ezen kívül a következő összetevőkre van szükségünk:

  • · ScrollBox Szükséges, ha teljes méretű módban a kép túlmutat a képen. Az Aling tulajdonságához az alClient értéket rendeljük, így annak méretei az ablak méretével arányosan változnak. És ráhelyezzük az Image komponenst;
  • · A képek mentéséhez és megnyitásához hozzáadjuk a SavePictureDialog és az OpenPictureDialog párbeszédablakot is. Az elsőre a kép másolásához van szükségünk a kiválasztott könyvtárba, a másodikra ​​a megnyitott párbeszédablak meghívásához grafikus fájl. Ezek a komponens paletta párbeszédpanelek oldalán találhatók. Erről az oldalról szükségünk van a PrintDialog komponensre is, amelyet a nyomtatáshoz nyomtatóválasztó párbeszédablaknak kell neveznünk.
  • Adjuk hozzá a MainMenu-t, hogy a főmenüt hozzáadjuk a programhoz, az XPManifestet pedig a színesebb dizájnért
  • · Valahol el kell tárolnunk a munkakönyvtárban lévő képek nevét is. Ebből a célból kényelmes a ListBox komponens, amely a Form1 űrlap Create eseményének feldolgozása során elrejthető.
  • · A navigációs gombok elhelyezéséhez és a velük való kényelmes munkavégzéshez adjuk hozzá a Fátyol panelt, amelyen elhelyezzük ezeket a gombokat (Előző kép, Következő kép, Valódi méret, Mérethez igazítás, Törlés, Másolás ide, Nyomtatás, Szerkesztés). A SpeedButton komponensként van kiválasztva számukra.
  • · Adjon hozzá egy időzítőt a "Bal" (előző kép), a "Jobb" (következő kép) és a "Del" (kép törlése) gombok megnyomására.
  • · És még egy komponens - a ProgressBar, amely megjeleníti a nagy *.Jpg fájlok betöltésének folyamatát.
  • 3. Írja be a gombnyomási esemény kezeléséhez szükséges kódot (Előző kép, Következő kép, Valódi méret, Mérethez igazítás, Törlés, Másolás ide, Nyomtatás, Szerkesztés). Írja be a Főmenü menüpontjaira (Kilépés, Megnyitás, Bezárás, Létrehozás) történő kattintás eseményének kezeléséhez szükséges kódot.
  • 4. Adja meg az űrlap létrehozásának kezdeti beállításait. Kattintson duplán az űrlap üres területére, és írja be a kódot eljárási eljárás TForm1.FormCreate(Sender:TObject), lásd a modul kódját az 1. függelékben.
  • 5. Írjon eljárásokat a következő formában:

eljárás FindFileInFolder(útvonal, ext: string);

Ez az eljárás megvizsgálja az elérési út mappáját a maszk ext.

A programmodul teljes kódlistája az 1. függelékben (3. programlista) található.

  • 1. Sorolja fel az Image komponens képességeit.
  • 2. Melyik osztályobjektum az Image komponens?
  • 3. 3. Milyen fájltípust támogat alapértelmezés szerint az Image komponens?
  • 4. 4. Sorolja fel az Image komponens főbb tulajdonságait.
  • 5. 5. Milyen tulajdonság tárolja az Image komponens képét?

LABORATÓRIUMI MUNKÁK

TANTÁRGY: « Grafika beDelphi- építése a legegyszerűbb
geometriai formák"

Rövid információ az elméletből

A Delphi három lehetőséget kínál a fejlesztőnek a grafika megjelenítésére:

    ábrázolás a program futása közben

    előre elkészített grafika használata

    képek létrehozása grafikus komponensek segítségével

Az ábrázoláshoz speciális osztályokat hoztak létre, amelyek eszközöket és módszereket biztosítanak a rajzoláshoz: az eszközöket három osztályban írják le - Tfont, Tpen, Tbrush; a rajzterületet és a metódusokat a Tcanvas osztály biztosítja.

OsztályTfont- beállítja a vásznon a szöveg megjelenítéséhez használt betűtípus jellemzőit. Az osztály tulajdonságait az "A legtöbb komponenshez elérhető alapvető tulajdonságok" című részben ismertetjük.

Osztálytpen– beállítja a toll (ceruza) jellemzőit, amellyel vonalakat húznak.

Tulajdonságok osztály tpen:

szín:Tcolor - vonalszín (alapértelmezés szerint fekete)

Szélesség:integer – vonalvastagság pixelben;

stílus = (psSolid, psDash, psDot, psdashDot, psClear) - meghatározza a vonal stílusát (folytonos, szaggatott, pontozott, kötőjeles, láthatatlan)

OsztályTecset– beállítja a képfelületek festésére használt ecset tulajdonságait.

Tulajdonságok osztály Tecset:

szín:Tcolor - ecsetszín (alapértelmezett fehér)

stílus- ecsetdísz, a következő értékeket veheti fel:

BsSolid - tömör színező

BsClear – nincs kitöltés

BsVertical - függőleges vonalak

BsBdiagonal – jobb oldali átlós vonalak

BsDiagCross – ferde cella

BsHorizontal- vízszintes vonalak

BsFdiagonal – bal oldali átlós vonalak

BsCross - cella

Osztályszövetek- meghatározza, hogy a létrehozott kép milyen felületre kerül, és milyen eszközökkel készül a kép: font, ceruza, ecset.

Alapértelmezés szerint az űrlap teljes ügyfélterülete munkaterületként (vászon, "vászon") van használva (az űrlap címe, főmenüje és görgetősorai nélkül), de kisebb munkaterületeket is kijelölhet az űrlapon belül. alkatrészek felhasználásával festékes doboz vagy Kép. A vászon eredete a munkaterület bal felső sarka, a munkaterület szélességét az ingatlan határozza meg ClientWidth, magasság - tulajdonság ClientHeight.

Tulajdonságok osztály szövetek:

Vászon:Tcanvas - meghatározza a rajzterületet

Kefe:Tecset - ecset zárt formák festésére

Betűtípus:Tfont - betűtípus szöveg megjelenítéséhez a vásznon

Toll:Tpen - ceruza (toll) rajzoláshoz

PenPos:Tpoint - a láthatatlan kurzor aktuális pozíciója a vásznon

Megjegyzés : Tpont típusa – a következőképpen definiálva:

Írja be: Tpoint = rekord

Képpontok: Tcolor - beállítja a vászon pixeleinek színét, X, Y - pixel koordinátákat. A Pixels tulajdonság akkor hasznos, ha a kiválasztott színű pontokat használó grafikonokat ábrázolja.

A TCanvas osztály fő metódusai

    eljárást Költözik(x,y:egész); - a tollat ​​anélkül mozgatja, hogy vonalat húzna egy (x, y) koordinátájú pontra.

    eljárást LineTo(x,y:egész); - vonalat húz az aktuális pontból az (x, y) koordinátákkal ellátott pontra.

Példa : Rajzoljon egy kék átlós vonalat az alakzatra az alakzat bal felső sarkától a jobb alsó sarokig.

Pen.color:= clblue;

MoveTo(0,0); LineTo(ClientWidth, ClientHeight);

    eljárást Téglalap(x1,y1,x2,y2:egész); - téglalapot rajzol: x1, y1 - a bal felső sarok koordinátái; x2, y2 - a jobb alsó sarok koordinátái.

Példa : Rajzoljon egy 60 képpontos, sárgával kitöltött négyzetet az alakzat közepére.

var Xc,Yc: egész szám; //

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.color:=clyellow;

Canvas.rectangle(xc-30,Yc-30,xc+30,Yc+30);

    eljárást Ellipszis(x1,y1,x2,y2:egész); - téglalapba írt ellipszist rajzol a megadott koordinátákkal.

Példa : rajzoljon egy ellipszist, amely be van írva a PaintBox komponensbe.

PaintBox1.Canvas.Pen.Width:=4; //vonalszélesség = 4 képpont

PaintBox1.Canvas.Ellipse(0,0, PaintBox1.ClientWidth, PaintBox1.ClientHeight);

    eljárást Poligon(); - egy koordinátatömb által adott zárt ppoligont rajzol.

Példa : rajzoljon egy kitöltött rombuszt, amely összeköti az alakzat oldalainak felezőpontjait

Var Xc,Yc:integer; // ügyfélterület központ koordinátáit alkotják

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.Color:=Rgb(275,140,70); // narancs szín árnyékolás

Canvas.Polygon();

vége;

    eljárást Ív(x1,y1,x2,y2,x3,y3,x4,y4:egész); - egy ellipszis ívét jeleníti meg, amelyet téglalap határol (x1, y1, x2, y2). Az ív egy koordinátákkal (x3,y3) rendelkező ponttól egy (x4,y4) koordinátákkal rendelkező pontig jelenik meg. ellenóramutató.

Példa : rajzoljon egy ellipszis ívet, amely összeköti az alkatrész felső oldalának közepét
PaintBox a jobb oldalának közepével.

Eljárás Tform1.Button1Click(Sender:Tobject);

Var X3,y3,x4,y4: egész szám;

A PaintBox1-el csináld

Canvas.Pen.Color:= cWhite;

Canvas.Pen.Width:= 3;

Canvas.rectangle(0, 0, PaintBox1.ClientWidth, PaintBox1.ClientHeight);

X3:= ClientWidth div 2;

X4:=ClientWidth;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

Canvas.ARC(0, 0, PaintBox1.ClientWidth, PaintBox1.ClientHeight, x3, y3, x4, y4);

vége;

    eljárást Akkord(x1,y1,x2,y2,x3,y3,x4,y4:egész); - húrt húz - az ellipszis 2 pontját összekötő egyenest: egy (x3, y3) koordinátájú pontot egy ponttal (x4, y4).

Példa : helyettesítse a megadott példában az ARC metódust, a Chord metódust, és megkapja ezt az eredményt.

    eljárást Pite(x1,y1,x2,y2,x3,y3,x4,y4:egész); - az ellipszis középpontját összekötő ellipszisszelvényt rajzol (x3,y3) és (x4,y4) koordinátákkal.

Példa : jelen van az ARC metódushoz, a PIE metódushoz megadott példában, és megkapja ezt az eredményt.

    eljárást textout(x,y:egész szám;Szöveg:karakterlánc); - a Szöveg paraméterben átadott karakterláncot egy téglalapba jeleníti meg, amelynek a bal felső sarka van megadva x,y koordináták. A betűtípus jellemzőit a Font eszköz állítja be.

Példa : írja be az űrlap aljára a felépített gráf nevét.

Canvas.Font.Height:=20 ; // karakter magassága 20 pixel

Canvas.Font.Color:=clblue;

Canvas.TextOut(10, ClientHeight-24, 'SIN(X) függvénygrafikon');

Grafikus komponensek

A Delphi számos gyári alkatrészt kínál a fejlesztésre felhasználói felület. Ezek az összetevők az oldalon helyezkednek el TovábbiÉs Rendszer komponens paletta.

ÖsszetevőKép(OsztályIdő) – külső kiterjesztésű fájlokban tárolt grafikus képek megjelenítésére tervezték:

    Ico(ikon, piktogram);

    bmp (bitmap, bitmap);

    Wmf, .emf (metafájl);

    Jpg, .jpeg (JPEG tömörített kép).

tulajdonságait :

automatikus méret:boolean - ha igaz, akkor a komponens a betöltött kép méretéhez igazítja a méretét; alapértelmezés szerint hamis.

Nyújtsd:boolean - ha igaz, a betöltött érték az összetevő teljes területét elfoglalja; alapértelmezett értéke false.

Vászon:Tcanvas – A komponens belsejében való rajzolásra szolgál futási időben.

kép:Tpicture – Meghatározza az összetevőben elhelyezett képet.

mód osztály kép:

eljárást LoadFromFile(fájlnév:karakterlánc); - betölt egy képet a komponensbe a Filename nevű fájlból.

eljárást SaveToFile(fájlnév:karakterlánc); -elmenti a képet az összetevőből egy Fájlnév nevű fájlba.

Összetevőfestékes doboz - meghatároz egy téglalap alakú területet a rajzoláshoz. A fő ingatlan az Vászon, a Tcanvas osztály összes metódusa elérhető, nincs független tulajdonsága.

Példa : rajzoljon ellipszist sárga szín A PaintBox1 komponensbe írt.

Eljárás Tform1Button1Click(küldő:Tárgy);

A PaintBox1.Canvas

Brush.Color:=clysárga;

Ellipszis(0,0,PaintBox1.ClientWidth,PaintBox1.ClientHeight);

vége;

ÖsszetevőBitBtn bittérkép gomb

A BitBtn gomb a szokásostól eltérően a néven (Caption) kívül tartalmazhat egy tulajdonság által meghatározott képet is. Glyph. Van egy sor szabványos BitBtn gomb, előre meghatározott tulajdonságokkal (meghatározott képpel, felirattal és céllal) - a standard gomb típusát a tulajdonságon keresztül lehet kiválasztani. kedves. Típus=(bkCustom, bkAbort,bkCancel, bkClose...)

1. számú feladat

Hozzon létre egy alkalmazást, amely két képösszetevőt és 4 gombot tartalmaz a fő űrlapon ("Kép feltöltése", "Geometrikus alakzat létrehozása", "Szín módosítása", "Kilépés"), és lehetővé teszi a következőket:

a) betölteni az Image1 komponensbe a felhasználó által kiválasztott grafikus képet oly módon, hogy a kép az Image komponens teljes területét elfoglalja.

b) az Image1 komponens alatt jelenítse meg a „Ez egy kép fájlból” feliratot.

(az alkatrész méreteinek és helyzetének bármely méréséreKép1 felirat kötelező
szigorúan a komponens alatt legyen).

c) rajzoljon geometriai alakzatot az Image2 komponensen belül: egy ellipszis kitöltött szakaszát, amely összeköti az Image komponens közepét az Image komponens alsó és jobb oldalának felezőpontjával.

(az alkatrész méretének és helyzetének bármilyen változása eseténKép2, a figurát helyesen kell megépíteni, pl. az alkatrészre vonatkozó hozzárendelés szerintKép2)

d) az Image2-ben megrajzolt ábra vonalszínének megváltoztatása a felhasználó kérésére a ColorDialog komponens segítségével.

2. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi, hogy véletlenszerűen több címkét helyezzen el egy kép összetevőben (például a „Hurrá!” szó). A megvalósításhoz használjon generátort véletlen számok Randomize és a Random funkció.

A Kép komponens méreteit, a Képben megjelenő szót és a szavak számát a felhasználónak kell megadnia.

3. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi egy geometriai alakzat nevének kiválasztását a ListBoxból, és rajzolja meg a kiválasztott alakzatot az Image komponensben. Az alakzat színe a RadioGroup komponensből van kiválasztva.

4. számú feladat

Osszuk a PaintBox1 komponenst 4 egyenlő részre, fessük le mindegyik részt más színnel, például: kék, sárga, zöld, piros.

A PaintBox1 minden sarka mellé írja be az adott sarok koordinátáit (az alakzat origójához viszonyítva, amelyen a PaintBox1 komponens található).

5. számú feladat

VAL VEL

válassza ki a rajzolt ábra típusát a Radiogroup1 komponensből, a kitöltési színt a Radiogroup2 komponensből és rajzolja meg a kiválasztott ábrát az Image komponensben.

6. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi a felhasználó számára a PaintBox1 komponens méreteinek beállítását (pixelben).

Osszuk a PaintBox1 komponenst 2 egyenlő részre, mindegyik rész belsejébe rajzoljunk egy ellipszist a felhasználó által a ColorDialogban kiválasztott színnel kitöltve.

7. számú feladat

VAL VEL olyan alkalmazás létrehozása, amely lehetővé teszi:

válassza ki a geometriai alakzat nevét a ListBox listából, és rajzolja meg a kiválasztott ábrát az Image komponensben. Az alakzatot a felhasználó által a ColorDialog komponensben kiválasztott színnel kell kitölteni, ha a RadioGroup komponensben az Igen van kiválasztva.

8. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi a felhasználó számára a PaintBox1 komponens méreteinek beállítását (pixelben).

Osszuk a PaintBox1 komponenst 4 egyenlő részre, mindegyik rész belsejébe rajzoljunk különböző geometriai alakzatokat (ellipszis, rombusz, háromszög és téglalap). Az egyes alakzatok színét a felhasználó választja ki a ColorGridben.

9. számú feladat

válassza ki a geometria nevét a ListBox-ból
alakzatokat (ellipszis, rombusz, téglalap) és rajzolni
a kiválasztott alakzatot az Image komponensben. Elhelyezkedés
alakzatok az Image komponensben (I negyed, II. negyed,

III. vagy IV. negyed) és az ábra kitöltési színe kerül kiválasztásra
a RadioGroup összetevőiből.

10. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi a felhasználó számára a PaintBox1 komponens méreteinek beállítását (pixelben).

Adja meg, hogy az oldal mérete nem lehet szöveg, nem lehet negatív szám, és nem haladhatja meg az űrlap kisebb méretét.

Osszuk 4 egyenlő részre a PaintBox1 komponenst, mindegyik rész belsejébe rajzoljunk egy-egy geometriai alakzatot, amelyet a felhasználó a Comboboxban választott ki (ellipszis, rombusz, háromszög és téglalap). Az alakzat színét a felhasználó választja ki a ColorBox-ban.

11. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi:

válassza ki a rajzolás pozícióját a Radiogroup komponensből

a derékszögű háromszög Kép komponensében állítsa be
az alakzat kitöltési színe vagy a körvonal színe attól függően
a Checkbox gombok engedélyezése. Színválasztás keresztül
ColorGrid komponens.

12. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi a felhasználó számára a PaintBox1 komponens méreteinek beállítását (pixelben).

Adja meg, hogy az oldal mérete nem lehet szöveg, nem lehet negatív szám, és nem haladhatja meg az űrlap kisebb méretét.

Osszuk a PaintBox1 komponenst 2 egyenlő részre, az egyik rész belsejébe rajzoljunk egy, a felhasználó által a Comboboxban kiválasztott geometriai alakzatot (ellipszis, rombusz, háromszög és téglalap). Az alakzat színét a felhasználó választja ki a ColorBox-ban.

Például egy űrlap színét így módosíthatja:

form1.Color:= ColorBox1.Colors;

13. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi:

a) rajzoljon egy négyzetet az alakzat közepére (a négyzet oldalának méretét a felhasználó adja meg). Adja meg, hogy az oldal mérete nem lehet szöveg, nem lehet negatív szám, és nem haladhatja meg az űrlap kisebb méretét.

b) osszuk el a négyzetet egy vagy két átlóval, attól függően, hogy a Checkbox gombok szerepelnek-e, és fessük át minden kapott háromszöget más színűre. A szín kiválasztását a felhasználó dönti el.

14. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi a felhasználó számára a PaintBox1 komponens méreteinek beállítását (pixelben).

Adja meg, hogy az oldal mérete nem lehet szöveg, nem lehet negatív szám, és nem haladhatja meg az űrlap kisebb méretét.

Osszuk a PaintBox1 komponenst 2 egyenlő részre, rajzoljunk egy rombuszt az egyik részbe, és rajzoljunk egy tetszőleges háromszöget a másik részbe. Az alakzat színét a felhasználó választja ki a ColorBox-ban.

Például egy űrlap színét így módosíthatja:

form1.Color:= ColorBox1.Colors;

15. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi:

a) állítsa be az Image komponens vízszintes és függőleges méretét úgy, hogy megegyezzen és egyenlő legyen a felhasználó által a billentyűzetről beírt számmal;

(feltéve, hogy az oldal mérete nem lehet szöveg, nem lehet negatív szám, és nem haladhatja meg az űrlap kisebb méretét)

b) osszuk fel az Image komponenst 4 egyenlő négyzetre két kék vonallal;

c) minden kapott négyzet belsejébe rajzoljon egy kört, amelybe be van írva (a körök színét a felhasználó választhatja ki a színválasztó párbeszédpanelen keresztül).

16. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi a felhasználó számára a PaintBox1 komponens méreteinek beállítását (pixelben).

Adja meg, hogy az oldal mérete nem lehet szöveg, nem lehet negatív szám, és nem haladhatja meg az űrlap kisebb méretét.

Osszuk fel a PaintBox1 komponenst 9 egyenlő részre, és fessük le az egyes kapott sakktábla-téglalapokat. A kitöltési színt a felhasználó választja ki a ColorBox-ban.

Például egy űrlap színét így módosíthatja:

form1.Color:= ColorBox1.Colors;

17. számú feladat

Helyezzen el két képkomponenst és négy gombot az űrlapon: Vonalszín, Kitöltés színe, Ok és Kilépés; és a Szerkesztés komponens.

Ha az OK gombra kattint, a Kép1 egy négyzetet rajzol X oldallal, a Kép2 pedig egy derékszögű háromszöget rajzol egyenlő lábakkal, amelyek mindegyikének hossza X.

A háromszög csúcsa egybeesik a kép2 origójával. A négyzet egyik csúcsa egybeesik a kép1 origójával.

Az OK gomb csak akkor válik elérhetővé, ha a vonalszín és a kitöltési szín ki van választva az alakzat rajzolásához.

X - véletlenszerűen választ, a Random függvény segítségével, és az X érték értékét meg kell jeleníteni az Edit komponensben.

18. számú feladat

Hozzon létre egy alkalmazást, amely lehetővé teszi a felhasználó számára a PaintBox1 komponens méreteinek beállítását (pixelben).

Osszuk a PaintBox1 komponenst 4 egyenlő részre, a felhasználó által kiválasztott részen belül egy kitöltött kört kell építeni, melynek méretét a felhasználó állítja be. A felhasználó kiválasztja a kitöltés színét a ColorBox-ban.

Például egy űrlap színét így módosíthatja:

form1.Color:= ColorBox1.Colors;

A Delphi könyvtár grafikus információinak megjelenítéséhez komponensek állnak rendelkezésre, amelyek listája a táblázatban található. 6.

6. táblázat

Grafikus információk megjelenítésére szolgáló alkatrészek

Összetevő oldal Leírás
Kép (kép) További Grafika megjelenítésére szolgál
PaintBox (ablak rajzoláshoz) Rendszer Egy terület létrehozására szolgál az űrlapon, amelyen rajzolhat
DrawGrid (rajztábla) További Nem szöveges adatok megjelenítésére szolgál sorokban és oszlopokban
Diagram (diagramok és grafikonok) További Az összetevő a diagramok és grafikonok létrehozására szolgáló TeeChart összetevők családjába tartozik
Chartfx (diagramok és grafikonok) ActiveX Diagram- és grafikonszerkesztő
FIBook (Excel oldalak) ActiveX Numerikus információk bevitelére és feldolgozására szolgáló komponens
VtChart (diagramok) ActiveX Diagram ablak

Ezenkívül grafikus információkat jeleníthet meg és adhat meg bármely olyan ablakelem felületén, amely rendelkezik a tulajdonsággal Vászon- vászon.

Képtáblázatok – DrawGrid és StringGrid komponensek

Összetevő DrawGrid táblázat létrehozására használható egy alkalmazásban, amely grafikát tartalmazhat. Ez az összetevő hasonló a komponenshez húrrács, mivel az utóbbi abból származik húzórács. Ezért be DrawGrid a komponens összes tulajdonsága, metódusa, eseménye jelen van húrrács, a szöveghez kapcsolódóakon kívüli, pl. ingatlanokon kívül Sejtek, Cols, sorok, objektumok. Ebből a szempontból a komponens StringGrid sokkal több potenciál van, mint rács, mert képeket és szövegeket is képes tárolni a cellákban. És ha szöveget szeretne beírni néhány cellába rács, akkor ehhez módszereket kell használnia a szöveg vászonra történő kiadására, ami nem túl kényelmes.

Alkatrészek DrawGrid és StringGrid legyen vászonod Vászon, ahol képeket lehet elhelyezni.

Van egy módszer cella egyenes, amely visszaadja a vászonnak az adott cellához lefoglalt területét. Ezt a módszert a következőképpen határozzuk meg

függvény CellRect(ACol, ARow: Longint): TRect;

Ahol Acol és Arow- 0-tól kezdődő oszlop- és sorindexek, amelyek metszéspontjában a cella található. A funkció által visszaadott terület a vászon azon területe, amelyen a kívánt kép megrajzolható. Például az operátor

DrawGridl.Canvas.CopyRect(DrawGridl.CellRect(1,1),

BitMap.Canvas,Rect(0,0,BitMap.Height,BitMap.Width));

másolatok módszer szerint CopyRect a táblázat (1,1) cellájába DrawGridl kép a komponensből bittérkép. Ez a cella balról a második, felülről a második a táblázatban, mert az indexek 0-val kezdődnek. Vegye figyelembe, hogy ha a cella mérete kisebb, mint a másolt kép mérete, akkor csak a bal oldali cella jelenik meg a cellában. felső rész Képek.

Komponens vászonkép DrawGrid és StringGrid Mint minden komponens vásznán, ez is törlésre kerülhet, ha az alkalmazás ablakát átfedi más ablakok, vagy például ha az alkalmazást minimalizálják.

Kényelmes módja képek beszúrása a cellákba DrawGrid eseménykezelőt kell használni OnDrawCell. Ezek az események minden táblázatcellánál az újrarajzolás pillanatában következnek be. A kezelő fejléce így néz ki:

eljárás TForml.DrawGridlDrawCell(Küldő: TObject;

Acol, ARow: egész szám; Rect: TRect; Állapot: TGridDrawState)

Paraméter Állapot jelzi a sejt állapotát. Ez egy készlet, amely a következő elemeket tartalmazhatja: gdKiválasztva- kiemelt cella gdFocused- a fókuszban lévő sejt, gdFixed- egy cella a táblázat egy rögzített területén. Paraméter Állapot különböző állapotú cellák eltérő megjelenítésére használható.

Alakzat komponens

Alakzat komponens csak feltételesen tulajdonítható a grafikus információ megjelenítési eszközeinek, mivel egyszerűen különböző geometriai formákat ábrázol, megfelelően árnyékolva. Ennek a komponensnek a fő tulajdonsága az alak(forma), amely a következő értékeket veheti fel:

StRectangle - egy téglalap;

StSquare - négyzet;

StRoundRect - lekerekített sarkú téglalap;

StRouhdSquare - négyzet lekerekített sarkokkal;

StEllipse - ellipszis;

StCircle - egy kör.

Az alkatrész másik lényeges tulajdonsága az Kefe(kefe). Ez a tulajdonság egy típusú objektum kefe, számos résztulajdonsággal, különösen színnel (ecset.Színes)és stílus (Ecsetstílus) alak kitöltése. A kitöltést néhány stílusértéknél láthatja az ábrán. 3.2. A komponens specifikus tulajdonságai közül a harmadik alak- Toll(toll), amely meghatározza a vonalstílust.

Diagram komponens

Most vegye figyelembe az összetevőt Diagram. Ez az összetevő lehetővé teszi különféle diagramok és grafikonok készítését, amelyek nagyon lenyűgözőek. Összetevő diagram rengeteg tulajdonsága, módszere, eseménye van, így ha mindegyiket figyelembe vesszük, akkor ennek egy egész fejezetet kellene szentelnie. Ezért csak a fő jellemzők figyelembevételére szorítkozunk Diagram. A többit pedig megtalálhatja a beépített Delphi súgójában, vagy egyszerűen csak kipróbálhatja diagramokkal kísérletezve.

Összetevő diagram tárgyak tárolója Sorozat- osztály leszármazottai TchartSeries. Minden ilyen objektum egy bizonyos megjelenítési stílussal jellemezhető adatsort képvisel: egyik vagy másik grafikont vagy diagramot. Mindegyik komponens diagram több sorozatot is tartalmazhat. Ha grafikont szeretne megjeleníteni, akkor minden sorozat egy görbének felel meg a grafikonon. Ha diagramokat szeretnénk megjeleníteni, akkor bizonyos típusú diagramoknál több különböző sorozatot is egymásra rakhatunk, másoknál (például kördiagramoknál) valószínűleg csúnyán fog kinézni. Ebben az esetben azonban beállíthat egy összetevőt diagram több sorozat ugyanazt az adatot különböző típusú diagramok. Ezután, ha minden pillanatban aktívvá tesz egyet, megadhatja a felhasználónak, hogy válassza ki a számára érdekes adatokat megjelenítő diagram típusát.

Helyezzen egy vagy két komponenst diagram az űrlapon, és nézze meg az Object Inspectorban megnyíló tulajdonságokat. Hadd magyarázzunk el néhányat.

AllowPanning – meghatározza, hogy a felhasználó a jobb egérgomb megnyomásával görgetheti-e a diagram megfigyelt részét a végrehajtás során. Lehetséges értékek: pmNincs - görgetés le van tiltva, pmHori/ontal, pm Függőleges vagy pmMindkettő - rendre a görgetés csak vízszintes irányban, csak függőleges irányban, vagy mindkét irányban megengedett.

AhowZoom – lehetővé teszi a felhasználó számára, hogy futás közben módosítsa a kép nagyítását úgy, hogy az egérkurzorral kivágja egy diagram vagy grafikon töredékeit. Ha a töredékkeret jobbra és lefelé húzódik, akkor ez a töredék a teljes diagrammezőre kinyújtva. És ha a keretet felfelé és balra húzzák, akkor az eredeti lépték visszaáll.

Cím – a diagram címét határozza meg.

Láb – a diagram alatti feliratot határozza meg. Alapértelmezés szerint egyik sem. A címke szövegét a Szöveg altulajdonság határozza meg.

Keret – a diagram körüli keretet határozza meg.

Az Object Inspectorban felsorolt ​​tulajdonságok közül sok mellett vannak ellipszisekkel ellátott gombok, amelyek lehetővé teszik a Diagramszerkesztő egyik vagy másik oldalának meghívását - egy többoldalas ablak, amely lehetővé teszi a diagramok összes tulajdonságának beállítását. A Diagramszerkesztő meghívása az összetevőre dupla kattintással is lehetséges diagram vagy kattintson rá Jobb klikk egérrel, és a felugró menüből válassza ki a Diagram szerkesztése parancsot.

Kattintson duplán a felső komponensre Diagram. A Diagramszerkesztő ablakba kerül a Diagram oldalra, amelyen több lap is található. Először is érdekelni fogja a rajta lévő Sorozat fül. Kattintson a Hozzáadás gombra - sorozat hozzáadása. Megjelenik egy ablak, ahol kiválaszthatja a diagram vagy grafikon típusát. BAN BEN ez az eset válassza a Kör - Kördiagram lehetőséget. A Címek fülön beállíthatja a diagram címét, a Jelmagyarázat fülön beállíthatja a diagram jelmagyarázatának (szimbólumok listájának) megjelenítési lehetőségeit, vagy teljesen eltávolíthatja a képernyőről, a Panel fül határozza meg a panel megjelenését. amelyen a diagram megjelenik, a 3D lapon módosíthatja a diagram megjelenését: dőlés, nyírás, vastagság stb.

Amikor a Diagramszerkesztővel dolgozik, és kiválasztott egy diagramtípust, az összetevőket diagram az űrlapod a megjelenését feltételes adatokkal jeleníti meg. Ezért azonnal megfigyelheti a különféle lehetőségek alkalmazásának eredményét, ami nagyon kényelmes.

A szintén számos fület tartalmazó Sorozat oldalon további megjelenítési jellemzőket is kiválaszthat a sorozathoz. Különösen a Formátum lapon lévő kördiagramok esetében hasznos engedélyezni a Circled Pie opciót, amely biztosítja, hogy a diagram körként jelenjen meg a Diagram komponens bármely méretében. A Marks fülön a Stílus csoport gombjai határozzák meg, hogy mi kerüljön az egyes diagramszegmensekhez kapcsolódó címkékre: Érték - érték, Százalék - százalékok, Címke - adatnevek stb.

Ha kívánja, hozzáadhat egy másik azonos sorozatot ehhez a diagram komponenshez, ha a Diagram oldal Sorozat lapján a Klónozás gombra kattint, majd ennél az új sorozatnál kattintson a Módosítás gombra, és válasszon egy másik diagramtípust, például Bar. .

Lépjen ki a Diagramszerkesztőből, válassza ki az alsó Chart összetevőt az alkalmazásban, és ismételje meg a tulajdonságok beállítását a Chart Editor segítségével. Ebben az esetben két sorozatot kell megadnia, ha két görbét szeretne megjeleníteni a diagramon, és válassza ki a Vonaldiagram típusát. Mert a beszélgetünk a grafikonokkal kapcsolatban a Tengely és Falak lapon beállíthatja a grafikon tengelyeinek és háromdimenziós lapjainak koordinátakarakterisztikáját.

Ezen a kialakításon kinézet alkalmazás véget ér. Továbbra is meg kell írni a kódot, amely meghatározza a megjeleníteni kívánt adatokat. A tesztalkalmazáshoz definiáljunk néhány állandó adatot a kördiagramban és néhány függvényt a grafikonokban.

A megjelenített értékek beállításához használja a Sorozat metódusokat. Koncentráljunk három fő módszerre.

Módszer Egyértelmű törli a sorozatot a korábban bevitt adatoktól.

Módszer Hozzáadás:

Add(Állandó érték:Double; Const ALabel:String; AColor:TCcolor) ,

lehetővé teszi új pont hozzáadását a diagramhoz. Paraméter Egy érték a hozzáadott értéknek, paraméternek felel meg ALabel- egy címke, amely megjelenik a diagramon és a jelmagyarázatban, AColor- szín. Paraméter ALabel- opcionális, üresen állítható: ‘’. Módszer AddXY:

AddXY(Const AXValue, AYValue: Double; Const ALabel: String; AColor: TColor)

lehetővé teszi egy új pont hozzáadását a függvénygrafikonhoz. Lehetőségek AXValueÉs AYValue illeszkedjen az argumentumhoz és a függvényhez. Lehetőségek ALabel és AColor ugyanaz, mint a módszerben Hozzáadás.

Így a példánkban szereplő adatok betöltésének eljárása így nézhet ki:

constAl=155; A2=251; A3=203; A4=404; var i:szó; kezdődik

Kezdje a sorozattal

Add(Al,"Shop l",clYellow);

Add(A2,"Design 2",clBlue);

Add(A3,"Floor 3",clRed);

Add(A4,"Design 4",clPurple); vége;

Series2.Clear; SeriesS.Clear; az i:=0 és 100 között kezdődik

Series2.AddXY(0,02*Pi*i,sin(0,02*Pi*i)

SeriesS.AddXY(0,02*Pi*i,cos(0,02*Pi*i) end;

ClRed); ,clBlue);

Üzemeltetők Egyértelmű akkor szükséges, ha az alkalmazás működése során frissíteni szeretné az adatokat.

Ezzel befejeztük a komponens bemutatását. Diagram. Igaz, képességeinek csak egy kis részét vettük figyelembe.


„Grafikus információk megjelenítése a Delphiben” Tématerv: 1.С С pppp oooo ssss oooo bbbb yyyy v v vyyyy vvv oooo dddd aaaa yy grrrr aaaa ffff iii hhhh eeee ssss kk kk oooo oooo h yyff iii iiiiii c c c c D D D D eeee llll pppp hhhh iiii O O tttt ooooh bbbb rrrr aaaa zhzhzhzh eeee nnnn eeee eeee k k k aaaa rrrr tttt nnnn oooo kkkk O O tttt oooo bbbb rrrr ahhhéeeeeeeee mm eeee tttt rrrr yiii hhhh eeeessssssssssssrrrrsssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaammmm...


1. Grafikus információk megjelenítésének módszerei. Grafikus információk megjelenítésének többféle módja van a Delphiben: Előre elkészített képek (Image, Shape komponensek) kimenete; P Grafikonok és diagramok felépítése (komponens diagram stb.); F Képalkotás programozottan(Vászontárgy).


2.Kijelző 2.Képek megjelenítése. Megvizsgáltuk a képek megjelenítését az Image komponens használatával a megjelenített kép időszakos változtatásával az Image komponensekben. PPPP EDURRRREEEE YYYE TTTT IIII n N N n AAAAAA PP PRRR IIII MMMMEEEE RRRRR ...






3. Kijelző 3. Geometriai formák megjelenítése. És egyszerű rajzokat készíthet több Shape összetevőből. P Az ábrán látható Shape komponensek pozíciójának (.Bal,.Felső), méretének (.Szélesség,.Magasság) és színének (Brush.Color) programozott változtatásával a legegyszerűbb animáció elemeit valósíthatjuk meg. R R R R aaaa ssssssssssss mmmm oooo tttt rrrr eeee tttt b pp pp rrrr iiiiii mmmm eeee rrrr...


4. Konstrukció 4. Grafikonok és diagramok felépítése. A diagramok célja a numerikus adattömbök vizuálisabb megjelenítése, vizuális megjelenítése és elemzése. RRRR iiiiii mmmm eeee rrrr... A Delphiben számos komponens létezik a diagramok ábrázolására, ezek egyike a Chart komponens (TeeChart Std szakasz).










Grafikonok és diagramok. A megjelenítendő adatok általában programozottan kerülnek átadásra a diagramnak, például: Series1.Clear; (sorozat törlése) i:=1-től N-ig Series1.addxy(i, A[i], clGreen); X-axis value Y-axis value X-axis label Data color on the chart rrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathat that is that is rrrrrrrrrrrr y y y y y y y y y y y y y = = = = S S S S iiii nnnn ((((xxxx))))


Következő: """ laboratóriumi munka OOOO tttt oooo bbbb rrrraaaaaa !;aaaaaaaaaaaaaaaaaaaaaaaaaa már XXXX FFFF IIII GGGG UUUU Rrrr, és és XXXXX A A A A A ANNNNNNNNNNE MMMM AAAAA AAAAA IIIIIAIA ”” ”” ”1) .... az alkalmazás a legegyszerűbb animáció végrehajtására a megjelenített kép időszakos megváltoztatásával a Képkomponensekben. (A képek száma legalább három, válassza ki a képeket Ön).




Következő: Laboratóriumi munka """" PPPP oooo ssss tttt rrrr oooo eeee nnnn iiiiii eeee yy y gr rrrr aaaa ffff iii kkkk oooo vvvv and i and dd dd iii AAAA yyyy dd iii AAAA yyyy rrmm A..AAA".mmmmmmmm A."s". 1) Módosítsa az alkalmazást innen laboratóriumi munka 9 (Adatok megjelenítése táblázatban). Adja hozzá a táblázat egyes adatainak oszlop- vagy kördiagramon való megjelenítésének lehetőségét. 2) Készítse el egy adott függvény gráfját!

Grafikával való munka Delphiben nem csak vonalak és rajzok, hanem nyomtatás is szöveges dokumentumok. Ezért be Delphi grafikával dolgozik kell egy kis idő. Dolgozik vele grafika Delphiben magában foglalja a vászon elérését - az összetevők Canvas tulajdonságát. Canvas Delphi ez egy vászon, amely lehetővé teszi a programozó számára, hogy hozzáférjen minden ponthoz (pixelhez), és mint egy művész, megjelenítse azt, amire szüksége van. Természetesen pixelenként rajzoljon grafikával dolgozni Delphiben nem szükséges, a Delphi rendszer erőteljes grafikus eszközök amelyek megkönnyítik a programozó munkáját.

Amikor Delphiben grafikával dolgozik, a programozó rendelkezésére áll a vászon (vászon, vászon - tulajdonság Vászon Delphi alkatrészek), ceruza (tulajdon Toll), annak az alkatrésznek vagy tárgynak az ecsete (Brush tulajdonság), amelyre rajzolni kell. A ceruzánál Tollés ecsetek Kefe Megváltoztathatja a színt (Color property) és a stílust (Style property). A betűtípusokhoz való hozzáférést a vászontulajdon biztosítja Betűtípus. Ezek az eszközök lehetővé teszik szöveges és meglehetősen összetett matematikai és mérnöki tartalmú grafikonok, valamint rajzok megjelenítését. Kívül, grafikával dolgozni lehetővé teszi az ilyen erőforrások használatát a Delphiben ablakok grafikai és videofájlokként.

Természetesen a Delphiben nem minden alkatrész rendelkezik ezekkel a tulajdonságokkal. A lapon További speciális alkatrész található TImage, kifejezetten rajzolásra készült, de egyben tulajdonság is Vászon vannak például olyan komponensek, mint a ListBox, ComboBox, StringGrid, valamint maga a Form, amely a komponenseinket helyezi el! Ezenkívül a Delphi egy objektum, például nyomtató, Canvas tulajdonságát használja dokumentumok nyomtatásához.

Az olyan objektumok fő tulajdonsága, mint a Canvas Delphi Pixelek típus TColor, azaz a színük által meghatározott pontok (pixelek) kétdimenziós tömbje. A vászonra való rajzolás abban a pillanatban történik, amikor egy adott színt a vászon bármely pontjához rendelünk. Minden pixelhez hozzárendelhető bármely elérhető ablakok színe. Például az utasítás végrehajtása

Image1.Canvas.Pixels:=clRed;

Piros pontot rajzol a koordinátákkal. Egy képpont színét fordított hozzárendeléssel kaphatja meg:

Szín:=Kép1.Canvas.Pixels;

típus TColor hosszú egész számként definiálható (LongInt). Négy bájtja a kék (B), zöld (G) és piros (R) színek arányáról tartalmaz információkat. Hexadecimális rendszerben így néz ki: $00BBGGRR. Az egyes színek aránya 0 és 255 között változhat. Ezért a maximális piros pont megjelenítéséhez hozzá kell rendelni szín $000000FF.
A szabványos színekhez a Delphi szövegkonstansokat határoz meg. Megtekintheti, ha megnyitja a Color tulajdonságot például az Objektumfelügyelőben, ugyanazon az űrlapon.

Az alábbi táblázat a vászon néhány tulajdonságát és módszerét tartalmazza:

Eljárás TextOut(X, Y: Integer; const Szöveg: WideString);
String kimenetet hoz létre Szöveg(X, Y) - a szöveg bal felső pixelétől kezdve.
Tulajdonság TextWidth( var Szöveg: String): Integer;
Tartalmazza a húr hosszát Szöveg pixelben.
Property TextHeight( var Szöveg: String): Integer;
Tartalmazza a vonal magasságát Szöveg pixelben.
Eljárás MoveTo(X, Y: Integer);
A pozíciót az (X, Y) címmel rendelkező pixelhez helyezi.
Procedure LineTo(X, Y: Integer);
Egyenes vonalat húz az aktuális pozíció pontjától az (X, Y) címmel rendelkező pixelig. A cím (X, Y) lesz az aktuális pozíciópont.
Eljárás FillRect( const Rect: TRect);
Téglalapot tölt ki Rect a vásznon az aktuális ecsettel. Használható többek között a kép egy részének törlésére a vásznon.

Csak ezeket a vászonmetódusokat használva írjunk egy alkalmazást egy képhez egy komponens vásznára Kép az összetevőbe beírt szöveg Memo:

Az első dolgunk, hogy inicializáljuk a változókat, amikor a program elindul. Meg kell határozni a rajzterület méreteit (ehhez létrehozunk egy TRect típusú globális Rect változót), és be kell állítani a háttérszínt Kép fehér:

eljárást TForm1.FormCreate(Sender: TObject);
kezdődik
Rect.Left:=0;
Rect Top:=0;
Rect.Right:=Kép1.Szélesség;
Rect.Bottom:=Kép1.Magasság;
Image1.Canvas.Brush.Color:=clWhite;
vége;

Ezután rajzoljon egy szegélyt a kép oldalai köré:

eljárást TForm1.page;
kezdődik
val vel Kép1.Vászon csináld
kezdődik
MoveTo(0; 0);
LineTo(Kép1.Szélesség-1, 0);
LineTo(Kép1.Szélesség-1, Kép1.Magasság-1);
LineTo(0, kép1.magasság-1);
LineTo(0; 0);
vége;
vége;

Próbáljuk meg mi történt. Minden működik, de a keret még nem jelenik meg. Tehát adjunk hozzá egy eljárást oldalon az eljárásban FormCreate. Most gyönyörű. Ezután írunk egy egyszerű eljárást a kép törlésére, tisztítására. Minden képfrissítés előtt meg kell hívni, különben az előző és a következő kép átfedi egymást.

eljárást TForm1.clearing;
kezdődik
Kép1.Canvas.FillRect(Rect); //Téglalap Rect fehérrel megtöltve a kép törlődik.
vége;

Most magán a szövegkiadási eljáráson a sor. Kezdjük a szöveg megjelenítését a (3, 3) ponttól - a lap bal felső sarkától, egy kis, 3 pixeles behúzással. Minden következő sor a sor magasságára tolódik el:

eljárást TForm1.prn;
var i: egész szám;
kezdődik
val vel Kép1.Vászon csináld
számára i:=1 nak nek Jegyzet1.Sorok.Szám csináld
TextOut(3, 3+(i-1)*SzövegMagasság("A"), Memo1.Lines);
vége;

Most minden készen áll a szöveges kimenetre. Ezt megtesszük az OnChange eseményig:

eljárást TForm1.Memo1Change(Sender: TObject);
kezdődik
klíring;
prn;
oldal;
vége;

És végül a betűméret megváltoztatásának eljárása:

eljárást TForm1.Edit1Change(Sender: TObject);
kezdődik
Memo1.Font.Size:=FelLe1.Position;
Image1.Canvas.Font.Size:=FelLe1.Position;
Memo1Change(Sender);
vége;

Ezt a programot szövegnyomtatásra módosíthatja. A nyomtatóval való munkához csatlakoztatnia kell a modult nyomtatók:

Mértékegység egység1;

Felület

használ
Windows, Üzenetek, SysUtils, Változatok, Osztályok, Grafika, Vezérlők, Űrlapok,
Dialógusok, StdCtrl, nyomtatók ;

Amikor a nyomtatót vászonként használja, a módszer meghívásra kerül a nyomtatás megkezdésére. BeginDoc, akkor a dokumentum kiadásra kerül, a nyomtatás a metódus meghívásával fejeződik be EndDoc:

Printer.BeginDoc;
val vel Nyomtató.Vászon csináld
kezdődik
... Dokumentum nyomtatása...
vége;
Printer.EndDoc;

A nyomtatóvászon szélessége és magassága a tulajdonságokon keresztül érhető el Printer.PageWidthÉs Nyomtató.Oldalmagasság. Ezzel a módszerrel befejezheti a nyomtatást az egyik oldalra, és megkezdheti a nyomtatást a másikra Nyomtató.Új Oldal.

Ha hibát észlel, jelöljön ki egy szövegrészt, és nyomja meg a Ctrl + Enter billentyűket
OSSZA MEG: