Zagnie?żd?żanie komponentów

0

Czy ktoś zna sposób na zagnieżdżanie komponentów w taki sposób, aby np. w niektórych pozycjach TreeView zamiast zwykłego tekstu pojawił się np. ComboBox, lub np. na StatusBar w jednym z paneli wstawić np. SpinEdit?
Wiem, że można sobie zrobić nowy komponent dziedziczący np. ze StatusBar i zmodyfikować nieco jego konstruktor jak to jest zrobione w komponencie Alstabar (źródło: http://www.4programmers.net/programmes/alstabar.zip ):

constructor TALStatusBar.Create(AOwner: TComponent);
begin
inherited;
ControlStyle := ControlStyle + [csAcceptsControls];
end;

ale to nie rozwiązuje problemu do końca. Bo jak wstawić taki ComboBox do TreeView jak to opisałem na początku tego posta?
Jeśli ktoś ma jakieś pomysły (lub konkretne rozwiązania), to byłoby świetnie, gdyby się nimi podzielił z czytelnikami tego posta ;) Może dojdziemy do czegoś wspólnie. :-) --"Imagination is more important than knowledge." - A. Einstein

0

Próbój z właściwościš Parent.
--Szymek

Prawo Bolingsa - jeżeli czujesz się świetnie, nie martw się, to minie.

0

szymek napisał:
Próbój z właściwością Parent.

Hmm, a można jaśniej??--"Imagination is more important than knowledge." - A. Einstein

0

2 rozwiązania:

  1. Tworzysz komponent pochodny, w którym podmieniasz TTreeNode swoim komponentem ComboBox
  2. Odczytujesz położenie każdego Itema na drzewie i w jego miejsce wstawiasz ComboBox:
    var
    ComboBoxA : TComboBox;
    Prostokat : TRect;
    begin
    ComboBoxA := TComboBox.Create(TreeView1);
    Prostokat := TreeView1.Items.Item[0].DisplayRect(True)
    ComboBoxA.Parent := TreeView1;
    ComboBoxA.Left := Prostokat.Left;
    ComboBoxA.Top := Prostokat.Top;
    ...
    ComboBoxA.Free;*na zakończenie programu.
    end;

Operację taką musisz wykonać dla każdego itema (widocznego), dlatego też znacznie łatwiej jest chyba utworzyć komponent.--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

Prośba o pomoc do Delphi po polsku. Oceniajcie i dodawajcie komentarze
http:*codecentral.borland.com/codecentral/ccweb.exe/listing?id=18659

Oficjalny kanał IRC serwisu 4programers:
serwer: warszawa.ircnet.pl sieć: POLNet kanał: #4programmers.net

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