Здравствуйте, Vsim, Вы писали:
V>Каким образом можно в текущей ячейке выделить необходимое число символов с произвольной позиции, как это можно делать например в TEdit. Очень нужно. Может использовать SendMessage только непонятно с какими параметрами?
Предлагаю отнаследовать от TStringGrid свой класс; все решение будет выглядеть примерно так:
type
TMyStringGrid=class(TStringGrid)
public
property InplaceEditor; //Меняем область видимости с protected на Public
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ActiveControl:=SG;
SG.ShowEditor; //Привяжем редактор ячейки к текущей ячейке
SG.InplaceEditor.SelStart:=1;
SG.InplaceEditor.SelLength:=2; //и выбрались, например, два средних 'a' из 'aaaa' для ячейки (1,1)
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SG:=TMyStringGrid.Create(self);
SG.parent:=self;
SG.Options:=SG.Options+[goEditing];
SG.Align:=alClient;
SG.SendToBack; //У меня кнопка уже лежит на форме, так что ее надо поверх сетки вытащить
SG.Cells[1,1]:='aaaa';
end;
Специалист — это варвар, невежество которого не всесторонне :)