Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2010
serebi serebi is offline
Miembro
 
Registrado: ago 2005
Posts: 17
Poder: 0
serebi Va por buen camino
Ayuda con codigo ondraw

muy buenas tardes querido club fueron muchas las veces que me colaboraron pero ahora vengo con una pregunta un poco mas especifica veran tengo un codigo funciona bien es el siguiente:
Código:
procedure TFInventario.ProductosDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  Grid    : TStringGrid;
  Texto   : String;
  ColorCelda : TColor ;
begin
  Grid := TStringGrid(Sender);
  if (Arow = Fila) and ( Fila > 0 ) then
    ColorCelda := $00C4EFFF
  else
    if (ARow < Grid.FixedRows) or (ACol < Grid.FixedCols) then
      ColorCelda :=  $002D96FF
    else
      ColorCelda :=  clWhite ;
  if (ARow < Grid.FixedRows) or (ACol < Grid.FixedCols)  then
    begin
      Grid.Canvas.Brush.Color := ColorCelda ;
      Grid.Canvas.Font.Style := [fsBold] ;
      Grid.Canvas.FillRect(Rect);
      Texto := Grid.Cells[ACol,ARow];
      DrawText( Grid.Canvas.Handle, PChar(Texto), StrLen(PChar(Texto)), Rect, DT_CENTER ) ;
    end
  else
    begin
      Grid.Canvas.Brush.Color := ColorCelda;
      Grid.Canvas.Font.Style := [] ;
      Grid.Canvas.FillRect(Rect);
      Texto := Grid.Cells[ACol,ARow];
      DrawText( Grid.Canvas.Handle, PChar(Texto), StrLen(PChar(Texto)), Rect, DT_LEFT ) ;
    end ;
end;
en verdad les ruego que lo lean para que funcione basta la variable global FILA y agregado a esto en el on select de un grid logro que la fila seleccionada se resalte funciona bien pero hay un pequeño detalle una ves que selecciono una fila del grid y le doy foco a otro objeto como ser un edit el texto de la primera celda del grid que seleccione se borra y no logro corregir ese error no se si alguien con un poco de tiempo pueda darme un concejo o una forma de hacerlo mejor por favor en verdad se los agradecere
Responder Con Cita
  #2  
Antiguo 15-04-2010
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
hmm a primera vista parece un problema con la variable global por que no intentas simplemente usar Grid.Row y verificar si el grid está seleccionado con Focused?
__________________
self.free;
Responder Con Cita
  #3  
Antiguo 15-04-2010
serebi serebi is offline
Miembro
 
Registrado: ago 2005
Posts: 17
Poder: 0
serebi Va por buen camino
hay que verguenza ya solucione el problema en verdad me da mucha pena haberlos molestado en vano, pero para aclarar lo que realizaba el codigo es :
en un grid en el evento OnSelectCell tomaba el valor Fila := ARow ese es el valor de la fila que seleccione al hacer click en el despues llamaba al repaint del grid con Grid.Repaint ; al hacer esto se ejecutaba el codigo que puse antes y lo que hace es primero le da color a las fixed cells del grid pone estilos al font del grid y por ultimo la fila enla que hice click antes la pinta de otro color y todo se soluciono al aumentar

Grid.Canvas.Font.Color := clMaroon ;

en el ultimo else

muchas gracias por su ayuda y lamento las molestias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda en un código kbaby Varios 75 18-06-2008 14:08:17
ayuda con este codigo kurono Varios 4 13-06-2008 01:03:29
Ayuda con código. wofox Varios 6 11-12-2007 00:16:21
Ayuda con un codigo JoNieve C++ Builder 0 21-04-2007 12:27:33
Ayuda con error en codigo :-( jorgegetafe Varios 6 07-02-2007 19:29:04


La franja horaria es GMT +2. Ahora son las 07:12:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi