Fórum Como Pintar Controls usando classes superiores ? #254365
14/10/2004
0
Não queria fazer isso :
TComboBox(objeto).color:=clred;
TDBComboBox(objeto).color:=clred;
TRxDBComboBox(objeto).color:=clred;
Gostaria de saber se tem como usar as classes superiores dos objetos para pintar .
[u:07ff8b7ae0]Exemplos:[/u:07ff8b7ae0]
TCustomComboBox
TCustomListBox
TCustomEdit
TCustomMemo
Porém naum dá pra usar a propriedade Color(ela está protected)...tem outra maneira de fazer isso(usando canvas naum dá) ?
Alexandresbo2
Curtir tópico
+ 0Posts
14/10/2004
Fórum Vini
Isso não é problema! :lol:
type TCustomComboBoxHack = class(TCustomComboBox) end; ... begin TCustomComboBoxHack(MeuComboBox).Color:= clRed; ... end;
Tem sim, usando TControlCanvas..
var C: TControlCanvas; begin C:= TControlCanvas.Create; C.Control:= ListBox1; // Aqui vem o codigo da pintura C.Free; end;
O único problema de usar isso é que quando o controle é repintado pelo windows, a sua pintura sai.. Se você se interessar, eu posto o código pra driblar isso...:wink:
Esprto ter ajudado,
Vinicius;
Gostei + 0
14/10/2004
Ipc$
type TMControl = class(TControl); TMControl(Objeto).color := clred;
Gostei + 0
14/10/2004
Alexandresbo2
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)