Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
CheckBox и TStringGrid
|
|||
|---|---|---|---|
|
#18+
Пытаюсь короче создать Checkbox на гриде типа: Grid: TStringGrid; ChB: TCheckBox; ...... ChB:= TCheckBox.Create(Grid); ChB.Parent:= Grid; щелкаешь на него мышей - никакой реакции а хотелось бы что бы он включался - выключался - кто-нибудь знает чё делать то? Заранее спасибо, Sergio ЗЫ: когда создаю его на форме - все работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 15:55 |
|
||
|
CheckBox и TStringGrid
|
|||
|---|---|---|---|
|
#18+
Вот пример от Cat2 Re: Как вставить checkbox в Grid? Просто кусок из проги c базой на ACCESS. Определяешь перерисовку на onClick и на нажатие пробела. Функция DBGrid1IsCheckBox(TField) определяет, надо ли рисовать CheckBox. Умному достаточно. procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var dc:HDC; bcolor : TColor; begin if ADODataSetMain.recno>0 then try bcolor:=clWindow; if not (gdSelected in State) then begin case ADODataSetMain.FieldByName('Код_Персонала').AsString of '1' : bcolor:=$FFEFD5; '2' : bcolor:=$EFFFD5; '3' : bcolor:=$FFFFF0; '4' : bcolor:=$E5EFDF; '5' : bcolor:=$AFDFD5; end; DBGrid1.Canvas.Brush.Color:=bcolor end; if Column.FieldName='Объем_вид' then if Column.Field.AsString<>'осн.' then if not (gdSelected in State) then DBGrid1.Canvas.Font.Color:=clRed else DBGrid1.Canvas.Font.Color:=clYellow; dc:=DBGrid1.Canvas.Handle; if DBGrid1IsCheckBox(column.Field) then with DBGrid1.Canvas do begin FillRect( Rect ); if Column.Field.value=1 then DrawFrameControl(dc,Rect, DFC_BUTTON , DFCS_CHECKED) else DrawFrameControl(dc,Rect ,DFC_BUTTON , DFCS_BUTTONCHECK) end else DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); except DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); end end; procedure TMainForm.DBGrid1CellClick(Column: TColumn); begin if DBGrid1IsCheckBox(column.Field) then begin ADODataSetMain.Edit; DBGrid1.SelectedField.AsInteger:=abs(DBGrid1.SelectedField.AsInteger-1); ADODataSetMain.Post; DBgrid1.Options:=DBgrid1.Options-[dgEditing]; end end; Надеюсь то что надо сам вытащишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2003, 11:33 |
|
||
|
|

start [/forum/search_topic.php?author=Pantera&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
125ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 1715ms |
| total: | 1906ms |

| 0 / 0 |
