Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

TStringGrid   Найти похожие ветки 

 
кашуба   (2003-03-06 17:21) [0]

Доброго времени суток, проблема следующая:

Есть StringGrid в котором 10 колонок, 3 и 4 колонка не доступна ни для редактирования ни для выбора ячеек, обрабатывая событие кейдаун я переношу со второй колонки фокус в 5 и на оборот, но при этом скролинг не работает:

procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
vRect: TGridRect;
begin
vRect := StringGrid1.Selection;
if (Key = VK_RIGHT) and (vRect.Left = 1) then begin
vRect.Left := 4;
vRect.Right := 4;
Key := 0;
end;
if (Key = VK_LEFT) and (vRect.Left = 4) then begin
vRect.Left := 1;
vRect.Right := 1;
Key := 0;
end;
StringGrid1.Selection := vRect;
end;

если Key := 0; не делать то все работает но устанавливается фокус не на 5 ячейку а на 6. Подскажите как решить эту проблему?


 
ggsoft ©   (2003-03-06 17:55) [1]

Лучше так:


procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
case Key of
VK_RIGHT:
with TStringGrid(Sender) do begin
if Col = 1 then begin
Col := 4;
Key := 0;
end;
end;
VK_LEFT:
with TStringGrid(Sender) do begin
if Col = 4 then begin
Col := 1;
Key := 0;
end;
end;
end;
end;


Ну примерно так.


 
кашуба   (2003-03-06 19:02) [2]

ggsoft спасибо!



Страницы: 1 вся ветка

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-54262
BALU1111
2003-02-28 14:52
2003.03.17
Частота процессора.


8-54116
MPiskunov
2002-12-02 13:24
2003.03.17
Проблема при записи звука TMediaPlayer-ом под win98...


1-53968
new prg
2003-03-06 06:41
2003.03.17
Ввод и вывод данных при помощи текстового файла


14-54264
Юров Владимир
2003-02-28 12:59
2003.03.17
Поля... кругом одни поля!!!


6-54142
R4D][
2003-01-26 12:31
2003.03.17
Работа с WinSock2