HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

HatchBrush ecset használata


Példaprogram letöltése

7506 bájt

A GDI+ HatchBrush ecsetét használva már nem csak egy-két kitöltési minta áll rendelkezésünkre, mint ahogy azt a GDI-ben megszokhattuk, hanem jóval több lehetőségünk van, amelyeket felhasználva látványos megoldásokat érhetünk el grafikát használó alkalmazásunkban.
Ebben a példában egy olyan alkalmazást készítünk, mely megjeleníti az összes lehetőséget egy igen érdekes programozó trükköt felhasználva.

Hogy a HatchBrush osztály milyen típusú ecsetet használ, az a HatchStyle felsorolt típus egy kiválasztott elemétől függ. Ha arra van szükségünk, mint most is, hogy az összes lehetőséget bemutassuk, akkor elég sok munkával járna egyesével leprogramozni minden típus megjelenítését. Ehelyett célszerűbb lenne egy olyan ciklust készíteni, mely végigmegy egy tetszőleges felsorolt típus összes elemén.
    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
      ...
      HatchStyle hs = new HatchStyle();
Az Enum osztály segítségével erre is lehetőségünk nyílik. Első lépésként kérünk egy sztring tömböt, mely tartalmazni fogja az összes elem megnevezését.
      string[] sa = Enum.GetNames(hs.GetType());
Második lépésként egy olyan tömböt hozunk létre, mely az adott elemek értékeit tartalmazza.
      Array o = Enum.GetValues(hs.GetType());
      ...
Ezt követően máris jöhet egy ciklus, mely végigmegy az összes elemen.
      foreach (string s in sa)
      {
A cikluson belül kiírjuk a típus nevét.
        g.DrawString(s, f, b, x+10, y, StringFormat.GenericDefault);
Majd rajzolunk egy téglalapot, mely a soron következő ecsettel lesz kitöltve.
        g.FillRectangle(new System.Drawing.Drawing2D.HatchBrush((HatchStyle)o.GetValue(i++), Color.Red, Color.Yellow), x+170, y, 100, 20);
        ...
    }

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