|
Платные хостинги
Раскрутка сайта
Книги по программированию
TStringGrid-ввод данных мышкой
- Подскажите, как можно реализовать такую штуку- при нажатии левой кнопки мыши на ячейке в нее заноситься "1" , при нажатии правой "0" ? Так как других чисел там не должно быть мне кажеться что это самый оптимальный способ ввода.
- Попробуй:Код procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin case Button of mbLeft: StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row]:='1'; mbLeft: StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row]:='0'; endend;highlightSyntax('delphimZGEwN','delphi');
- Отлично! Работает, спасибо!Еще бы фокус ячейки перемещался, т.е та ячейка которая под курсором получала фокус....Буду думать....
- Так ?Код procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);var col, row : integer;begin StringGrid1.MouseToCell(x, y, col, row); if (col >= StringGrid1.FixedCols) and (col < StringGrid1.ColCount) then StringGrid1.Col := col; if (row >= StringGrid1.FixedRows) and (row < StringGrid1.RowCount) then StringGrid1.Row := row;end;highlightSyntax('delphiDIzYTB','delphi');
- А можно в одну строчкуКод procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := IntToStr(Integer(not Boolean(Button)));end;highlightSyntax('delphiMzOWZh','delphi');Или даже так, если не хочется использовать InToStr:Код procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := Chr(Integer(not Boolean(Button)) + 48);end;highlightSyntax('delphiNGFmM2','delphi'); Это сообщение отредактировал <Spawn> - 13.11.2004, 13:52
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|