![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ComboBox в ячейке StringGrid [D6, Win95/98]
Катерина © (2002-05-18 09:12:00)Нельзя ли выбирать значение ячейки в StringGrid`е из выпадающего списка (как в ComboBox), или это возмодно только для DBGrid`а?
Катерина (2002-05-18 09:27:00) [1]Спасибо, попробую.
MBo (2002-05-18 09:22:00) [2]6) Выбор значения в ячейке StringGrid из ComboBox
sg1: TStringGrid;
cb1: TComboBox;
procedure TForm1.sg1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
R: TRect;
begin
if ARow =1 then begin
R := SG1.CellRect(ACol, ARow);
cb1.left := R.Left+ SG1.Left+1;
cb1.top := R.Top + sg1.top+1;
cb1.Width := sg1.ColWidths[acol];
cb1.Tag:=ACol+65536*ARow;//запоминаем ячейку, есть и другие пути
cb1.Visible := True;
cb1.SetFocus;
end;
CanSelect := True;
end;
procedure TForm1.cb1Change(Sender: TObject);
begin
SG1.Cells[cb1.Tag mod 65536,cb1.tag div 65536]:=
cb1.Items[cb1.itemindex];
cb1.visible:=false;
end;
procedure TForm1.cb1Exit(Sender: TObject);
begin
cb1.visible:=false;
end;
procedure TForm1.sg1TopLeftChanged(Sender: TObject);
var
R: TRect;
begin
R := SG1.CellRect(cb1.Tag mod 65536,cb1.tag div 65536);
cb1.left := R.Left+ SG1.Left+1;
end;