Witam

Kombinuję cały dzień jak dodać inne kontrolki (np. Combobox, Edit) do ListView jako SubItem.
Chyba jedyne rozwiązanie to ustawianie już utworzonych kontrolek na odpowiednie współrzędne w trakcie rysowania kontrolki. Tylko, że ja nie wiem jak to prawidłowo zrobić. Na razie testowałem sobie na zasadzie kolorowania tła komórki, aby sprawdzić czy trafiłem w dobrą komórkę, no i czy dostaję komunikat. W moim ListView każdy wiersz ma checkbox-a. Jak zacząłem rysować, to checkbox-y znikały, natomiast tekst zostawał. Nie wiem czy wykorzystać PRE czy POST paint. W ogóle to nie czaje zbytnio działania tego całego Custom Draw. Robię to wszystko w WinAPI. ListView tworzę tak:

hListView1 := CreateWindowEx(WS_EX_CLIENTEDGE, WC_LISTVIEW, nil, WS_CHILD or WS_VISIBLE or LVS_REPORT or LVS_NOCOLUMNHEADER, 16, 72, 305, 211, hWindow, IDC_LISTVIEW1, hInstance, nil);
ListView_SetExtendedListViewStyle(hListView1, LVS_EX_CHECKBOXES or LVS_EX_GRIDLINES or LVS_EX_FULLROWSELECT);

Byłbym wdzięczny, gdyby mi ktoś wytłumaczył lub wrzucił fragment kodu (Pascal lub C++), w którym byłoby ukazane jak i w którym momencie mam dodawać (ustawiać w SubItem-ie) np. Combobox-a.

PS. W jakim dziale mam zakładać tematy, jeśli problem dotyczy WinAPI i nie ma znaczenia czy ktoś mi odpisze w Pascal-u czy C++ ?

Zauważyłem, że w VCL robi się to:
Combobox1.BoundsRect := r;
gdzie r to TRect danej komórki.

Próbowałem zrobić to samo tak:
SetBoundsRect(GetDC(Combobox1.Handle), @r, DCB_ENABLE);
oraz tak:
SetBoundsRect(Combobox1.Canvas.Handle, @r, DCB_ENABLE);

ale Combobox się nie pojawia.

Czym więc różni się Combobox1.BoundsRect od SetBoundsRect ?