Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.06.2010, 13:41
Supra0991 Supra0991 вне форума
Прохожий
 
Регистрация: 26.04.2010
Сообщения: 20
Репутация: 9
Сообщение как запретить щелкнуть StringGrid1???

как запретить щелкнуть два раза вот картинка 2010-06-12_153853.jpg
у меня когда нажал два раза и в следующий форум. я хочу чтоб она запретить щелкнуть. а клетки остаюсь. можешь подскажет?
Ответить с цитированием
  #2  
Старый 12.06.2010, 19:15
Supra0991 Supra0991 вне форума
Прохожий
 
Регистрация: 26.04.2010
Сообщения: 20
Репутация: 9
По умолчанию

НЕУЖЕЛИ НИКТО НЕ ОТВЕТИЛ
Ответить с цитированием
  #3  
Старый 12.06.2010, 21:56
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Не ясен вопрос.
Запретить"щелкнуть" - вряд ли возможно (наручники Пользователю не наденешь).
Но можно как-то регламентировать реакцию на "щелканье".
Ответить с цитированием
  #4  
Старый 13.06.2010, 00:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,048
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Enabled := False спасет отца русской демократии...
Ответить с цитированием
  #5  
Старый 13.06.2010, 11:48
Supra0991 Supra0991 вне форума
Прохожий
 
Регистрация: 26.04.2010
Сообщения: 20
Репутация: 9
Сообщение

Цитата:
Сообщение от lmikle
Enabled := False спасет отца русской демократии...

уже выбрал и клетки тоже запретит щелкнуть. как быть?
Ответить с цитированием
  #6  
Старый 13.06.2010, 21:21
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Не очень понятно, все-таки.
У TStringGrid есть несколько обработчиков событий, которые могут быть полезны для решения этой задачи :

Код:
//Если Пользователь "выбрал" ячейку (кроме Fixed-ячеек)
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
  ShowMessage('StringGrid1SelectCell:  ACol='+IntToStr(StringGrid1.Col)+'   ARow='+IntToStr(StringGrid1.Row));
end;

//Если Пользователь "щелкнул" один раз в области компонента (кроме Fixed-ячеек)
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
  ShowMessage('StringGrid1Click:  ACol='+IntToStr(StringGrid1.Col)+'   ARow='+IntToStr(StringGrid1.Row));
end;

//Если Пользователь "щелкнул" дважды в области компонента (кроме Fixed-ячеек)
procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
  ShowMessage('StringGrid1DblClick:  ACol='+IntToStr(StringGrid1.Col)+'   ARow='+IntToStr(StringGrid1.Row));
end;

//Реакция на событие: "нажатие" кнопкой мышки в области компонента
//Здесь - на любой ячейке (включая и Fixed)
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Var
  ACol,ARow : integer;
begin
  StringGrid1.MouseToCell(X, Y, ACol, ARow);
  ShowMessage('StringGrid1MouseDown:  ACol='+IntToStr(ACol)+'   ARow='+IntToStr(ARow));
end;

Последний обработчик - вообще "универсальный".
Реагирует на щелчок мышкой в любой области компонента.
Можно их комбинировать.
Некоторые (из них) исключают друг-друга.

Если есть StringGrid1MouseDown или StringGrid1SelectCell, то StringGrid1Click и StringGrid1DblClick "пролетают" ...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter