![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет!
Есть задумка: левой кнопкой мыши выделяется произвольный массив в StringGride, правой запускается popupmenu в которой есть пункты: "удалить", "очистить". Соответственно этот массив либо удаляется, либо очищается. Подскажите пожалуйста: 1. В каком событии прописывать код 2. Полезные статьи и ссылки по данной теме Пытаюсь сделать через OnClick соответствующих кнопок и goRangeSelect Заранее благодарен |
|
#2
|
||||
|
||||
|
Попробуй так:
Код:
function IsCellSelected(StringGrid: TStringGrid; X, Y: Longint): Boolean;
begin
Result := False;
try
if (X >= StringGrid.Selection.Left) and (X <= StringGrid.Selection.Right) and
(Y >= StringGrid.Selection.Top) and (Y <= StringGrid.Selection.Bottom) then
Result := True;
except
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
var
I, J : Integer;
begin
// заливаем
for I := 0 to SG.ColCount - 1 do
for J := 0 to SG.RowCount - 1 do
SG.Cells[I, J] := Format('X=%d, Y=%d', [I, J]);
end;
procedure TForm2.Button2Click(Sender: TObject);
var
I, J : Integer;
begin
// чистим
for I := 0 to SG.ColCount - 1 do
for J := 0 to SG.RowCount - 1 do
if IsCellSelected(SG, I, J) then
SG.Cells[I, J] := ''
end;Последний раз редактировалось angvelem, 28.07.2011 в 23:34. |
|
#3
|
|||
|
|||
|
Спасибо angvelem! Хорошая функция, попробовал, все работает
К этой функции мы еще чего-нибудь прикрутим![]() |