Реферат Курсовая Конспект
If (значение in State) then Выполнить действие - раздел Программирование, Дополнительные кнопки Delphi TSpeedButton и TBitBtn Именно Так Я Проверяю Во Второй Строчке Кода Наличие Значения Gdfocused...
|
Именно так я проверяю во второй строчке кода наличие значения gdFocused. И только если ячейка, которую надо прорисовать имеет фокус, выполняю следующие действия. Но перед этим я прячу нашу маскированную строку ввода, потому что она могла находиться видимой в другой ячейке, и чтобы не было проблем, лучше её спрятать.
Если рисуемая ячейка в фокусе, то я проверяю, в какой колонке находиться рисуемая ячейка. Если это первая колонка (где мы должны вводить дату), то я должен показать DateEdit на месте рисуемой ячейки. Для этого я сначала присваиваю в DateEdit текст, который должен находиться в данной ячейке. Затем устанавливаю позицию и размеры компонента DateEdit, и только потом показываю его.
Как видишь, способ очень простой и элегантный. Теперь осталось только создать обработчик события OnChange для компонента DateEdit. Это событие происходит, когда данные в строке ввода изменились, а это значит, что нам их надо сразу же прописать в редактируемую ячейку сетки иначе они потеряются. Это потому что все данные вводятся в DateEdit, а не в сетку, а переносить мы их должны вручную.
procedure TMainForm.DateEditChange(Sender: TObject); begin StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row]:=DateEdit.Text; end;
Чтобы ещё больше закрепить материал, я сделал в последней колонке появление компонента TCheckBox, по которому можно менять значение в ячейке между «Женат» и «Холост». Как это сделано я объяснять не буду, попробуй разобраться сам, потому что код практически идентичный. А я только дам исходник:
Для начала на форму надо бросить компонент CheckBox и сделать его невидимым. Потом надо изменить событие OnDrawCell:
procedure TMainForm.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
– Конец работы –
Эта тема принадлежит разделу:
Глава Обзор дополнительных компонентов Delphi...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: If (значение in State) then Выполнить действие
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов