Центрирование текста в StringGrid

подскажите как центрировать текст при вводе в StringGrid, нашел только решение для просто вывода текста в центр, а чтобы еще и курсор (мигающий в ячейке) ставился по центру не знаю вот это нарыл:
procedure TMainForm.SGDrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
var Text: string;
begin
Text:= SG.Cells[ACol,ARow];
SG.Canvas.FillRect(Rect);
DrawText(SG.Canvas.Handle, PChar(Text), Length(Text), Rect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;
6 ответов

Сдается мне что тут надо имплейседитор щупать.


Сдается мне что тут надо имплейседитор щупать.
ша?


вы не в курсе как происходит ввод/редактирование в ячейке StringGrid? тогда самое время изучить сей вопрос


вы не в курсе как происходит ввод/редактирование в ячейке StringGrid? тогда самое время изучить сей вопрос
ну как как тыкаешь в ячейку и вводишь... как еще то? о_О


что нибудь более конструктивное кто нибудь подскажет? кроме того появился еще вопрос, чтобы не создавать новую тему напишу тут: надо выделить границы некоторых ячеек грида, т.е. ну просто как в таблицах делают (ворд, эксель) чтобы они пожирнее были, но не все, а только некоторые... пытался через FrameRect закрашивать по канве грида в OnCreate формы, но весь грид закрашивается черным (Brush.Color:= clBlack)


Для сложную работы с гридом, всякие выравнивания, границы, заливки, лучше брать готовые опробованные компоненты, чем городить велосипед, тем более в Вашими-то знаниями. Вот обширный список гридовых компонентов http://www.torry.net/pages.php?s=73 подбирайте по вкусу.