Rajzolj egy rácsot formájában

Rajzolj egy rácsot formájában

Szia szakértők!
Szeretném felhívni a rácsot a forma (bár, még mi-menet), olyan, mint a Delphi Form Designer pont, de jobb háló. Ez volna, hogy ebben a formában / tálca / több, is, és elveszi a tervező összetevőinek (én csak TGraphicControl örökösök). Hogyan és hol szeretné felhívni a rács, és (ez igaz az más kérdés), hogy hogyan lehet ilyen alkatrészt, ezért majd húzza az egeret?

Hogyan és hol kell meghúzni a rács
Festék kezelt örökös TGraphicControl, és ne felejtsük el kötődését igazítása. (Fél óra, nem több)
hogyan lehet egy alkatrész hozzá, majd húzza az egeret
bármely örökös származó TControl.

hogyan lehet egy alkatrész hozzá, majd húzza az egeret
bármely örökös származó TControl.
hogy kell kezelni? milyen üzenetet? és hogyan?
obscherekomenduemoe mousedown, releasecapture, self.perform (valamit) dolgozott TButton, de nem örökös TGraphicControl

Sötét Hunter (20.01.04 20:17) [2]
hogy kell kezelni? milyen üzenetet? és hogyan?
DragDrop hallottam olyan mechanizmust?

Folytatva a témát:
Get alakú, örökös TCustomPanel ezt szembőségű a panel sokkal nagyobb, mint a méret a formában. gördítősávokat megjelent, és ez csodálatos.
De: hálós panel készült csak hogy egy szál komponens megszűnik levonandó kezdetben láthatatlan része a rács a panel, csak a bal felső sarokban

800600 (esetemben ilyen engedéllyel). Más helyeken a szokásos szürke panel :(
hogyan kell felhívni a rács az egész panel?

Átírni a panel OnPaint esemény - amely levonja a háló (az egész panel).

Írok felvezető OnPaint:

Brush.Color: = FGridBackColor;
Brush.Style: = bsSolid;
Téglalap (téglalap);
ha FShowGrid ezután kezdődik
Brush.Color: = FGridForeColor;
Brush.Style: = bsCross;
Téglalap (téglalap);
vég
rács készült teljesen.
Áll, hogy a látható tartományban tekintetben kezdetben például TLabel (ő TGraphicControl jogutódja), vagy a komponens (szintén TGraphicControl) rács készült csak azt a részét a bal felső részen, akkora, mint egy képernyő.
Panel méretek ugyanazok maradnak, mint voltak (4000 * 3000).
Ez a hiba az windose vagy bárki. )

Coop épület nem orosz javaslatok

És hol van a rács - Látom csak két téglalap és nem poláris.

gondolataimat:
Az első töltse szilárd, szín FGridBackColor háttér (én védett tagja Panel osztály);
másrészt azzal a megkötéssel, hogy szükség van, hogy felhívja a net - színátmenetek minta bsCross FGridForeColor (hasonló);
Vége;
Magyarázza a helyzet tekintetében, kérjük,

Nem tudom, hogy van, de próbálok létrehozni egy összetevő

felhasználások
Ablakok, üzenetek, SysUtils, osztályok, Controls, ExtCtrls, grafika;

Eljárás GrPanel.Paint;
kezdődik
Örökölt festék;
Vászon Do
kezdődik
Brush.Style: = bsSolid;
Brush.Color: = clBtnFace;
FillRect (ClientRect);
Brush.Style: = bsCross;
Brush.Color: = clRed;
Téglalap (ClientRect);
Vége;
Vége;

Eljárás nyilvántartását;
kezdődik
RegisterComponents ( "Standard", [GrPanel]);
Vége;

Betettem formában és ScrollBox és hozzáadjuk a panel gomb címke - ahogy lapozunk a normál rács látható az egész panel.

Kapcsolódó cikkek