Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 020

•  TDictionary Custom Sort  6 123

•  Fast Watermark Sources  5 922

•  3D Designer  8 764

•  Sik Screen Capture  6 247

•  Patch Maker  6 671

•  Айболит (remote control)  6 668

•  ListBox Drag & Drop  5 526

•  Доска для игры Реверси  95 665

•  Графические эффекты  6 894

•  Рисование по маске  6 107

•  Перетаскивание изображений  5 055

•  Canvas Drawing  5 426

•  Рисование Луны  5 144

•  Поворот изображения  4 691

•  Рисование стержней  3 303

•  Paint on Shape  2 541

•  Генератор кроссвордов  3 432

•  Головоломка Paletto  2 748

•  Теорема Монжа об окружностях  3 540

•  Пазл Numbrix  2 326

•  Заборы и коммивояжеры  3 011

•  Игра HIP  1 968

•  Игра Go (Го)  1 885

•  Симулятор лифта  2 240

•  Программа укладки плитки  1 950

•  Генератор лабиринта  2 390

•  Проверка числового ввода  2 080

•  HEX View  2 405

•  Физический маятник  2 037

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

CheckBox в DBGrid




Bpaч дeлaeт oбхoд, гpaдycники y бoльных coбиpaeт, пpoпиcывaeт лeчeниe, пoдхoдит к кoйкe oднoгo бoльнoгo и cпpaшивaeт сecтpy:
- Фaмилия бoльнoгo?
- Bиндoвc, тoлькo ceйчac пocтyпил.
- Имя oтчecтвo?
- Дeвянocтo восемь.
- Бoлeзнь?
- Хpoничecкиe зaвиcaния и cлaбocть yмa. Чeм бyдeм лeчить?
- Mopгoм.


procedure DrawGridCheckBox(Canvas: TCanvas; Rect: TRect; Checked: boolean);
var
  DrawFlags: Integer;
begin
  Canvas.TextRect(Rect, Rect.Left + 1, Rect.Top + 1, ' ');
  DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DFCS_BUTTONPUSH or DFCS_ADJUSTRECT);
  DrawFlags := DFCS_BUTTONCHECK or DFCS_ADJUSTRECT;// DFCS_BUTTONCHECK
  if Checked then
    DrawFlags := DrawFlags or DFCS_CHECKED;
  DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DrawFlags);
end;

На событие OnDrawColumnCell повесьте вызов процедуры DrawGridCheckBox():


procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if Column.FieldName = 'WEIGHT' then // Модифицируйте под себя
    if Column.Field.AsInteger > 10 then
      DrawGridCheckBox(DBGrid1.Canvas, Rect, true)
    else
      DrawGridCheckBox(DBGrid1.Canvas, Rect, false)
end;

Кроме этого, для скрытия текста в ячейках с CheckBox-ом от отображения значения при вводе с клавиатуры определите реакцию на событие OnColumnEnter:


procedure TfrmMain.DBGrid1ColEnter(Sender: TObject);
begin
  with TDBGrid(Sender) do
    if SelectedField.FieldName = 'Weight' then // Модифицируйте под себя
      Options := Options - [dgEditing]
    else
      Options := Options + [dgEditing]
end;





Похожие по теме исходники

CheckBox in StringGrid

cyDBGrid

Cell Hint in DBGrid

Примеры оформления DBGrid

 

Пример использования DBGrid




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте