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 23-02-2016
Catublipas Catublipas is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 55
Poder: 10
Catublipas Va por buen camino
Buenas ecfisa,
me ha funcionado al parecer me faltaba incorporar la libreria Vcl.grids, ya no me da el error pero no me quita el borde.
Es posible que sea porque el StringGrid lo he creado en tiempo de diseño, o ¿no tiene nada que ver?
Muchas gracias de veras por vuestra ayuda de nuevo!
Responder Con Cita
  #2  
Antiguo 23-02-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Catublipas Ver Mensaje
Buenas ecfisa,
me ha funcionado al parecer me faltaba incorporar la libreria Vcl.grids, ya no me da el error pero no me quita el borde.
Es posible que sea porque el StringGrid lo he creado en tiempo de diseño, o ¿no tiene nada que ver?
Muchas gracias de veras por vuestra ayuda de nuevo!
No me parece... controla que la declaración:
Código Delphi [-]
type
  TStringGrid = class(Vcl.Grids.TStringGrid)
  ...
preceda (esté mas arriba) a la definición de la variable de tipo TStringGrid que uses en el formulario.

Otra opción es que hagas una nueva unidad,
Código Delphi [-]
unit Unit2;

interface

uses Windows, Types, Grids; // Vcl.Grids, etc, etc

type
  TStringGrid = class(Grids.TStringGrid) //  class(Vcl.Grids.TStringGrid)
  private
    FBorde: Boolean;
  protected
    procedure Paint; override;
  public
    property Borde: Boolean read FBorde write FBorde default False;
  end;

implementation

{ TStringGrid }
procedure TStringGrid.Paint;
var
  R: TRect;
begin
  inherited;
  if not FBorde then
  begin
    R := CellRect(Col, Row);
    DrawFocusRect(Canvas.Handle, R);
  end;
end;
end.
y luego en el formulario en que la vayas a usar la incluyas en la última posición en el uses de la sección interface:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,  Menus, Grids, Unit2; // <- Última en ser incluída

type
   // (Ya no se necesita la declaración por la inclusión de Unit2)
   TEmpresasForm = class(TForm)
...

Nota: Para todos los casos toma en cuenta las diferencias que tiene Delphi XE7 con Delphi 7 cuando se hace referencia a las unidades y clases, vg.:
Código:
Delphi 7   : Grids.TStringGrid
Delphi XE7 : Vcl.Grids.TStringGrid
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 23-02-2016
Catublipas Catublipas is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 55
Poder: 10
Catublipas Va por buen camino
Perdón corrijo, no termina de quitar el borde jajajaja.
Os paso las imagenes a ver si se os ocurre algo.
Imágenes Adjuntas
Tipo de Archivo: jpg 1.jpg (18,5 KB, 6 visitas)
Tipo de Archivo: jpg 2.jpg (19,4 KB, 5 visitas)
Tipo de Archivo: jpg 3.jpg (17,4 KB, 5 visitas)
Responder Con Cita
  #4  
Antiguo 23-02-2016
Catublipas Catublipas is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 55
Poder: 10
Catublipas Va por buen camino
He probado creando la unidad nueva, hago referencia en la otra unidad y sigo en las mismas, no me da problemas, pero sigue sin quitar el borde.
Por cierto he probado a desactivar Default Drawing pero es un caos aunque si que quita el borde, pero se desconfigura todo.

Última edición por Catublipas fecha: 23-02-2016 a las 12:55:40.
Responder Con Cita
  #5  
Antiguo 23-02-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
La verdad, estoy imposibilitado de probar el código sobre XE7 así que ando a tientas .

Lo último que se me ocurre es que pruebes calificando la función DrawFocusRect:
Código Delphi [-]
{ TStringGrid }
procedure TStringGrid.Paint;
var
  R: TRect;
begin
  inherited;
  if not FBorde then
  begin
    R := CellRect(Col, Row);
    Windows.DrawFocusRect(Canvas.Handle, R);  // ( también prueba con: Canvas.DrawFocusRect(R); )
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 23-02-2016
Catublipas Catublipas is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 55
Poder: 10
Catublipas Va por buen camino
Ecfisa funciona perfecto, he hecho lo que has puesto y he desactivado el Default Drawing y va clavado!
Muchas gracias de nuevo!

Un saludo!
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
Radiogroup sin borde? drykea Varios 3 19-08-2013 14:16:46
TPageControl sin borde Jose Roman OOP 3 11-04-2013 20:02:33
quitar auto seleccion en una celda StringGrid sakuragi OOP 0 01-06-2006 00:01:06
Borde de un Timage NuncaMas Gráficos 2 06-12-2003 10:03:03
Quitar el Borde a un TDateTimePicker Er_Manué OOP 0 13-05-2003 09:41:45


La franja horaria es GMT +2. Ahora son las 10:28:53.


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