![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Позиционирование каретки в TStringGridDelphi , ОС и Железо , Мышка и КурсорПозиционирование каретки в TStringGrid
Оформил: DeeCo { The following code allows you to position the caret in a cell (InplaceEditor) of a StringGrid. We need a Cracker class to access the InplaceEditor. Mit folgendem Code kann man den Cursor in einer Zelle (InplaceEditor) eines StringGrids positionieren. Hierfur brauchen wir eine "Cracker" Klasse, weil der InplaceEditor "protected" ist. } type TGridCracker = class(TStringGrid); {...} implementation {...} procedure SetCaretPosition(Grid: TStringGrid; col, row, x_pos: Integer); begin Grid.Col := Col; Grid.Row := Row; with TGridCracker(Grid) do InplaceEditor.SelStart := x_pos; end; // Get the Caret position from the focussed cell // Ermittelt die Caret-Position der aktuellen Zelle function GetCaretPosition(Grid: TStringGrid): Integer; begin with TGridCracker(Grid) do Result := InplaceEditor.SelStart; end; // Example / Beispiel: // Set the focus on col 1, row 3 and position the caret at position 5 // Fokusiert die Zelle(1,3) und setzt den Cursor auf Position 5 procedure TForm1.Button1Click(Sender: TObject); begin StringGrid1.SetFocus; SetCaretPosition(StringGrid1, 1, 3, 5); end; Программный код, который позволяет позиционировать курсор (карету) в конкретной ячейке таблицы TStringGrid. Курсор используется для редактирования ячеек в таблице. Основные компоненты:
Пример: Обработчик события клика кнопки демонстрирует, как использовать эти процедуры для установки фокуса на конкретной ячейке и позиционирования курсора в конкретном месте. Разбивка кода:
В примере, когда кнопка кликается, она устанавливает фокус на ячейке (1,3) и позиционирует курсор в положении 5. Курсор может быть перемещен с помощью клавиатуры или других стандартных операций редактирования. Обратите внимание, что этот код предполагает, что у вас есть компонент TStringGrid, имя которого StringGrid1 в вашем формате. Вам нужно заменить это на имя вашего контрола таблицы, если оно отличается. Позиционирование каретки в TStringGrid позволяет с помощью класса TGridCracker доступа к InplaceEditor и управлять его положением, определив столбец, строку и позицию курсора. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Мышка и Курсор ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |