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

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

Выделить ячейку в StringGrid e [D6, Win2k]


Leny ©   (2002-10-14 12:43:00) 

Мастера, подскажите!
Как сделать выделенной ячейку в StringGrid"e при нажатии прав.кнопки мыши?


Игорь Шевченко   (2002-10-14 16:01:00) [1]

Song © (14.10.02 15:58)
Best Before 2024 (14.10.02 15:59)

Значит, могут быть исключения.
И на старуху бывает проруха :-)


Best Before 2024   (2002-10-14 15:59:00) [2]

Игорь Шевченко © (14.10.02 15:57)
Угу :(


Song   (2002-10-14 15:58:00) [3]

Запросто.


Игорь Шевченко   (2002-10-14 15:58:00) [4]

Кстати, IMHO, лучше действия выполнять не на MouseDown, а на MouseUp.


Игорь Шевченко   (2002-10-14 15:57:00) [5]

Song © (14.10.02 15:49)

А что, в этом случае будет сгенерировано событие MouseDown ?


Best Before 2024   (2002-10-14 15:50:00) [6]

Игорь Шевченко © (14.10.02 15:47)
>> А что, может быть исключение ? :-)
Если кликнешь мимо ячейки, то
StringGrid1.MouseToCell(X, Y, C, R);
C = -1 и R = -1
=> Exception



Song   (2002-10-14 15:49:00) [7]

Когда указатель мыши находится за пределами таблицы (на белой области). MouseToCell() вернёт -1 и StringGrid.Row вернёт исключение.


Игорь Шевченко   (2002-10-14 15:47:00) [8]

Song © (14.10.02 15:36)

А что, может быть исключение ? :-)


Best Before 2024   (2002-10-14 15:41:00) [9]

2 Song © (14.10.02 15:36)
Ну это же отправная точка! :)


Song   (2002-10-14 15:36:00) [10]

2Best Before 2024 (14.10.02 15:21)
Вы не предусмотрели возможность исключения.


Best Before 2024   (2002-10-14 15:21:00) [11]

procedure TForm1.StringGrid1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var R, C : LongInt;
begin
if Button = mbRight then
begin
StringGrid1.MouseToCell(X, Y, C, R);
StringGrid1.Row := R;
StringGrid1.Col := C;
end;
end;


Song   (2002-10-14 15:13:00) [12]

нужно в эти свойства забить номер ряда/столбца соответственно, ячейку которых надо выделить.


Leny   (2002-10-14 14:50:00) [13]

TStringGrid.Row/Col - что это означает?
Это вроде обращение к строке\столбцу - только как это связать с кликом прав.кнопки мыши?


Song   (2002-10-14 14:29:00) [14]

TStringGrid.Row/Col


pavel-ak   (2002-10-14 12:44:00) [15]

Про StringGrid статья была Sources.ru в разделе Delphi была хорошая.


Наверх

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