Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с ячейкой StringGrid


M1sT ©   (2006-10-28 18:28:00) 

Как мне осуществить переход на нужную ячейку StringGrid'а, а затем сделать текст этой ячейки выделенным/невыделенным???


ЮЮ   (2006-10-30 03:50:00) [1]

Кликни в третий раз в нужном месте.
Такое поведение зашиго в генофонде

procedure TCustomGrid.UpdateEdit;

 procedure UpdateEditor;
 begin
   FInplaceCol := Col;
   FInplaceRow := Row;
   FInplaceEdit.UpdateContents;
   if FInplaceEdit.MaxLength = -1 then FCanEditModify := False
   else FCanEditModify := True;
    FInplaceEdit.SelectAll;
 end;

begin


Для получения нужного поведения лучше написать своего наследника :)
Или добиться нужного эффекта в обработчиках.
Например так:

type
 TStringGridAccess = class(TStringGrid);

procedure TForm1.StringGrid1MouseDown(Sender: TObject;
 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 if not StringGrid1.EditorMode then exit;
 if StringGrid1.Tag = 0 then
     TStringGridAccess(StringGrid1).InplaceEditor.SelLength := 0; //курсор в начале поля
 // если курсор в конце поля, то так:  
 // TStringGridAccess(StringGrid1).InplaceEditor.SelStart :=
 //    Length(TStringGridAccess(StringGrid1).InplaceEditor.Text)
 StringGrid1.Tag := StringGrid1.Tag + 1;
end;

procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
 ARow: Integer; var Value: String);
begin
 StringGrid1.Tag := 0;
   // открывается редактор в ячейке
end;


M1sT   (2006-10-28 19:30:00) [2]

Перейти на нужную ячейку- значит передать ей фокус. Но не в этом проблема! При переходе на ячейку(двойным щелчком или по TAB'у) текст в ячейке становится выделенным, а мне не нужно чтобы он выделялся!!!


rar   (2006-10-28 18:45:00) [3]

Что значить нужную, это задать номер столбца и номер строки как в Excel и перейти?


Наверх

Титульная страница Поиск, карта сайта Написать письмо