StringGrid에 Combobox 동적생성해서 붙이기..인데요..
동적생성해서.. OnDrawCell에 다음과 같이 코딩하였습니다.
실행해서 보면 제대로 Combobox는 붙는데... 클릭이 되질 않습니다.
카우스 커서로 움직이면 내용은 들어가 있는데.. 클릭이 되질 않아 리스트업이 되질 않습니다..
뭐가 잘못된거죠? ㅠㅠ
procedure TNodeDetailFrm.cbModelChange(Sender: TObject);
var
i, j: Integer;
FModel: TModel;
begin
FModel := FSessionDM.GetModelItem( cbModel.Text );
for i:=0 to FModel.SlotCount-1 do
begin
hgCard.Objects[1, i] := TComboBox.Create( Self );
with TComboBox( hgCard.Objects[1, i] ) do
begin
parent := hgCard;
Style := csDropDown;
for j:=0 to FSessionDM.GetCardCount-1 do
Items.Add( FSessionDM.GetCardByIndex(j).CardName );
end;
if ( i < FModel.SlotCount-1 ) then
hgCard.RowCount := hgCard.RowCount + 1;
end; // for
end;
procedure TNodeDetailFrm.hgCardDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
if hgCard.Objects[1, ARow] <> nil then
begin
Rect := hgCard.CellRect(1, ARow);
with TComboBox(hgCard.objects[1 ,ARow]) do
begin
Visible := True;
Top := Rect.Top;
Left := Rect.Left;
Width := Rect.Right - Rect.Left;
Height := (Rect.Bottom - Rect.Top);
BringToFront;
SetFocus;
end;
end; // if
end;
저 혹시 DropDownCount 값은???