|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
как запретить щелкнуть StringGrid1???
как запретить щелкнуть два раза вот картинка 2010-06-12_153853.jpg
у меня когда нажал два раза и в следующий форум. я хочу чтоб она запретить щелкнуть. а клетки остаюсь. можешь подскажет? |
#2
|
|||
|
|||
НЕУЖЕЛИ НИКТО НЕ ОТВЕТИЛ
|
#3
|
|||
|
|||
Не ясен вопрос.
Запретить"щелкнуть" - вряд ли возможно (наручники Пользователю не наденешь). Но можно как-то регламентировать реакцию на "щелканье". |
#4
|
|||
|
|||
Enabled := False спасет отца русской демократии...
|
#5
|
|||
|
|||
Цитата:
уже выбрал и клетки тоже запретит щелкнуть. как быть? |
#6
|
|||
|
|||
Не очень понятно, все-таки.
У 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 "пролетают" ... |