TPanel z grafikami na rogach jak tabela w HTML

0

Witam. Nie mogę nigdzie znaleźć komponentu który pozwalał by ozdobić grafiką komponent TPanel. Chodzi tutaj o grafikę narożników i boków. Jedyne co przyszło mi na myśl to wstawienie 4 TPanel i 8 TImage i udało się taki efekt uzyskać ale jest bardzo niewygodny w użyciu. Chodzi mi o komponent który potrafi łatwo ozdobić panele o takich layoutach:

+-----+   +-----+
|     |   |     |
|     |   +-----+
|     |   |     |
|     |   |     |
+-----+   +-----+

Proszę albo o namiary na komponent który umożliwia takie coś albo o pomoc w stworzeniu takiego komponentu. Generalnie chodzi o to aby w edytorze był widoczny jako tylko jeden element a nie zbitek komponentów TPanel i TImage. Z góry dziękuję za wszelką pomoc

0

hmm.. wrzucić na TPanel komponent TImage, dac doublebuffered:=true; i rysować wszystko dynamicznie na tym Image

0
Pino napisał(a)

Generalnie chodzi o to aby w edytorze był widoczny jako tylko jeden element

No to czas napisać własny komponent; Musisz znać choć podstawy OOP, bo trzeba będzie stworzyć klasę komponentu, w której będziesz także tworzył inne komponenty (części ramki jak rogi i boki) oraz odpowiednio je oprogramować; Wtedy będziesz miał jeden komponent, a operował na kilku jednocześnie; Przydadzą się też jakieś dodatkowe właściwości - wszystkiego możesz się doczytać w dobrych kursach; Musisz tylko siąść, znaleźć, czytac i testować;

Jeśli nie chcesz tworzyć komponentu i samemu go oprogramowywać to skorzystaj z podpowiedzi @misiakufal'a - też ciekawe rozwiązanie;

I tak będziesz musiał pisać kod i tak; Stworzenie komponentu jest o tyle lepsze, że jak będziesz chciał go wykorzystać kilka razy w programie (np. w różnych oknach aplikacji) to nie będziesz musisał kombinować z podpięciem jednej procedury rysującej do ich wszystkich; Wystarczy położyć komponent, powybierać grafiki na ramki i gotowe;

0

Istnieje coś takiego jak

Canvas

który umożliwia rysowanie po komponencie ew CoolForm taki komponent, bo powątpiewam w zdolności pisania komponentów skoro się pyta kolega czy istnieje takie coś ;]

0
proqix napisał(a)

powątpiewam w zdolności pisania komponentów skoro się pyta kolega czy istnieje takie coś

Pyta się czy jest gotowy komponent, skoro takiego nie ma to warto napisać swój :)

Swoją drogą można połączyć Twój pomysł @proqix z moim - stworzyć komponent, w którym będą potrzebne nowe właściwości określające kolor i styl obramowania, ewentualnie bitmapki stanowiące elementy ramki, a samo malowanie ramki wykonać na właściwości Canvas, żeby niepotrzebnie nie tworzyć kilku dodatkowych komponentów klasy TImage;

Dobrze się to zapowiada, a co zrobi autor nie wiadomo;

EDIT: Skoro to będzie i tak w panelu, to warto napisać komponent na bazie TPanel, który wyposażamy w komponent z klasy TImage i dalej to, co wyżej wymieniłem;

1 użytkowników online, w tym zalogowanych: 0, gości: 1