рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

If (значение in State) then Выполнить действие

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 TSpeedButton и TBitBtn

Глава Обзор дополнительных компонентов Delphi...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: If (значение in State) then Выполнить действие

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Procedure TMainForm.StartBtnClick(Sender: TObject); begin Form2.ShowModal; // Показываю вторую форму
if Form2.ModalResult=mrOk then Application.MessageBox('Вы нажали кнопку OK', 'Вы нажали'); if Form2.ModalResult=mrCancel then Application.MessageBox('Вы нажали кно

Begin DateEdit.Visible := false; CheckBox1.Visible := false; if (gdFocused in State) then
begin if ACol=1 then begin DateEdit.Text:=StringGrid1.Cells[ACol, ARow]; DateEdit.Left := Rect.Left + StringGrid1.Left+2; DateEdit.Top :

Procedure TMainForm.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked=true then
CheckBox1.Caption:='.aiao' else CheckBox1.Caption:='Oieino'; StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row]:=CheckBox1.Caption; end;

Procedure TMainForm.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked=true then
CheckBox1.Caption:='.aiao' else CheckBox1.Caption:='Oieino'; StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row]:=CheckBox1.Caption; end;

If CheckListBox1.Checked[0] then
… Я перебираю все элементы, поэтому в квадратных скобках указываю параметр i. Текст строки можно узнать в свойстве Items компонента CheckListBox1. Чтобы у

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги