La Web del Programador: Comunidad de Programadores
 
    Pregunta:  36843 - INSERTAR CHECKBOX EN UNA GRILLA
Autor:  Michelle
Mi pregunta es la siguiente: ¿Puedo en una celda de una grilla, stringgrid o drawgrid, insertar una checkbox o un radiogroup?, estoy programando en delphi 3.0 gracias

  Respuesta:  Armando Montoya
hola, saludos desde irapuato, gto mexico
el siguiente codigo no lo he probado en delphi 3, lo hice en delphi 5 y funciona bien, te paso el codigo y si tienes problemas o dudas me lo comentas, esto va en el evento OnDrawCell de un TdbGrid, y en la columna que quieras que aparezca el checkbox no asignes un TDataField

if Column.FieldName = '' then //si no existe un Campo entonces
begin
dbgrid1.Canvas.FillRect(Rect);
if query1['Pagado']=true then // si el campo esta marcado entonces
DrawFrameControl(dbgRecibos.Canvas.Handle, Rect, DFC_BUTTON, DFCS_BUTTONCHECK or DFCS_CHECKED) // pon el checkbox marcado
else // si el campo no esta marcado entonces
DrawFrameControl(dbgRecibos.Canvas.Handle, Rect, DFC_BUTTON, DFCS_BUTTONCHECK) // pon el checkbox vacio
end
else
dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);