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

Вниз

Разрешить редактировать только одну колонку в StringGrid как?   Найти похожие ветки 

 
Extar ©   (2007-01-11 00:15) [0]

Хочется чтобы пользователь мог перемещаться только вверх/вниз по одной колонке, ее же править в нужных строках.
А чтоб влево/вправо не лез.

GoAlwaysShowEditor = ON

Когда то делал...
кажется "OnSelectCell" использовал, но уже не помню что в обработчике писать.

И как проверить корректность введенных данных (скажем, число 1..100)?
D8


 
Loginov Dmitry ©   (2007-01-11 07:51) [1]

> кажется "OnSelectCell" использовал


Пойдет


> но уже не помню что в обработчике писать


Вспоминай


 
Extar ©   (2007-01-11 09:23) [2]

>Loginov Dmitry
Ну ты ферзь


 
novill ©   (2007-01-11 09:45) [3]

Тебе в событие зачем CanSelect передается? да и вообще параметры посмотри.

Как проверить? try except например пользуй.


 
Extar ©   (2007-01-11 10:26) [4]

Да посмотрел бы, и вообще вопросов бы не задавал, сидел бы читал Delphi Native Help
Только в Д8й этот хелп вообще какой-то полупустой, хотя и на манер "MS VS" заделан...
Где не нажмешь F1 все пишет "Topic not available"
Инфы много про .нет там (винформс и т.п.) а по VCL в 3й информативнее было...
В инете чтоли хелп к предидущим версиям искать...


 
Extar ©   (2007-01-11 12:18) [5]

Пробую так:
procedure TForm1.StringGrid1GetEditMask(Sender: TObject; ACol,
 ARow: Integer; var Value: &string);
var
srect: tgridrect;
begin
with stringgrid1 do
 begin
  setfocus; {Передаем фокус сетке}
  row:= arow; {Устанавливаем row/col}
  col := 3;
  srect.top := row; {Определяем выбранную область}
  srect.left := 3;
  srect.bottom := row;
  srect.right := 3;
  selection := srect; {Устанавливаем выбор}
 end;
end;


Перемещение только по одной колонке, НО:
содержимое ячейки-Sender_а  очищается(((
т.е. кликаю по любой другой колонке - в ней появляется пустая ячейка.

Может на какоето друго есобытие вешать этот обработчик?


 
Extar ©   (2007-01-11 12:41) [6]

Разобрался
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin
if acol<>3 then canselect:=false;
end;


Спасибо
>novill
>www.delphipages.com



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
15-1170952605
Riply
2007-02-08 19:36
2007.03.04
Утилиты для проверки диска.


2-1171358625
misere
2007-02-13 12:23
2007.03.04
Конвертация массива из byte-ов в integer


2-1171292157
danila_master
2007-02-12 17:55
2007.03.04
Помогите. C++ в Delphi.


15-1171278311
nameless
2007-02-12 14:05
2007.03.04
Изменение сортировки


15-1171001483
vajo
2007-02-09 09:11
2007.03.04
Подскажите хороший файлообменник.