[Delphi] Wizualny edytor komponentów

0

Witam,
Chciałbym zapytać o pewną sprawę, być może banalną (wybaczcie, miałem dłuższą przerwę w programowaniu). Próbuję napisać prosty program, którego zadaniem jest tworzenie interfejsu.
Użytkownik, z panelu po prawej stronie wybierałby komponenty (podstawowe, jak na przykład TLabel, TGroupBox, TCheckBox etc) i wrzucałby te dynamicznie tworzone komponenty na panel po lewej stronie, który byłby pierwowzorem projektowanego GUI. Użytkownik musi mieć możliwość swobodnej edycji położonych kontrolek (mam na myśli podstawowoe operacje, typu zmień rozmiar, przesuń).

Przykład:
user image

Czy ktoś mógłby poradzić jak to w miarę szybko zrobić? Może ktoś widział i udostępni łącze do źródeł, które coś takiego oferują (mam wrażenie, że widziałem coś takiego na 4p, kiedyś... edytor wyswig html)
Jak zrobić takie sprytne klamerki, jak na zdjęciu, po uchwyceniu których można by manipulować obiektem?

Samo przesuwanie komponentu (w czasie działania programu) jest dosyć proste (choć znam metodę, która pozwala na przesuwanie tylko pochodnych TWinControl...) Wie ktoś jak przesunąć tLabel (nie posiada uchywtu niestety).
Przykład:

      ReleaseCapture;
      SendMessage(TWinControl(sender).Handle, WM_SYSCOMMAND, $F012, 0);

Bardzo proszę o jakieś wskazówki od kogoś kto takie coś projektował. Chętnie dowiem się czegoś nowego co pomoże mi szybko napisać taki program, którego niestety potrzebuję (a może stety, bo coś się nauczę).

Pozdrawiam,
-Pawel

0

label uchwytu nie posiada ale TStaticText juz tak.
jesli chodzi o zmiane rozmiaru...
chyba tez mozna zastosowac ta metode z WM_SYSCOMMAND, tylko drugi parametr trzeba zmienic - mozna wtedy zmieniac rozmiar, jak rozmiar zwyklego okna. zamiast $F012 mozna uzyc:

$F008 - prawy dolny róg
$F007 - lewy dolny
$F006 - dół
$F005 - prawa góra
$F004 - lewa góra
$F003 - góra
$F002 - prawa strona
$F001 - lewa strona

a jesli chodzi o to zaznaczenie... ja bym proponowal napisac prosty komponent, wyswiatlajacy tych 8 punktow. wyswietlalo by sie go dookola zaznaczonego elementu (komponentu). dodatkowo Twoj komponent zajmowal by sie wysylaniem odpowiednich komunikatow (WM_SYSCOMMAND) do kontrolki.

wracajac do tego przesuwania - jesli nie chcesz uzywac tych komunikatow, to uzyj zwyklego OnMouseDown/Move/Up i dwoch zmiennych globalnych. latwo to znajdziesz w internecie.

0

Cimak, Misiekd, dzięki!
Misiekd, właśnie tego szukałem, proste i zwięźle napisane (ja wiem, twoj stopka zobowiązuje :) )
Pozdrawiam
-Pawel

0

ja kdla mnie dupa zbita z tymi wizualnymi bajerkami sam takie cos napisalem i powiem ze nikomu sie t onie przydalo nawet mi szczerze odradzam, do tego jak chcesz oglosic calemu swiatu ze dzieki temu bedzie mozna legalnie tworzyc oprogramowanie na twoim sofcie (a nie masz kupionego delphi to se daruj)

0

Witam,
Czlowieku, o czym ty piszesz!?
Program chcę napisać do własnych celów/dla własnej satysfakcji/aby się czegoś nauczyć.
Być może bedzie komuś przydatny.
Nie ma to nic wspólnego z zakupem/sprzedażą softu.
-Pawel

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