Xafam Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 galera ...seguinte ... quero saber como que eu faço para desabilitar a fonte do Panel ... tipo .. quando colocar em Enabled = False .. ficar com a cor igual de um Label com Enabled = false ....att,Xafam Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Manoel Zancheta Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Olá.Seria isto?Panel1.Font.Color:= clgray; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rodrigo Flores Postado Outubro 21, 2008 Denunciar Share Postado Outubro 21, 2008 Olá.Seria isto?Panel1.Font.Color:= clgray; Creio que não seja isso Manoel, afinal o clGray apenas pinta a fonte de cinza, ele quer o efeito "vazado" que o label fica quando o enabled está false. Como sujestão eu diria para ti colocar label no panel e controlar o enabeld deles pelo enabels do panel. Label1.Enabeld := Panel1.Enabeld; Label2.Enabeld := Panel1.Enabeld; Label3.Enabeld := Panel1.Enabeld;Assim tu teria o efeito desejado e teria certeza que somente quando o panel estivesse com o enabled em false. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 22, 2008 Denunciar Share Postado Outubro 22, 2008 Xafam, a sugestão do colega Rodrigo Flores é correta.Porém, vendo seu questionamento deste modo: "desabilitar a fonte do Panel" (...) quando atribuir False a sua propriedade Enabled, que fique igual ao que ocorre com um Label.Fico com a impressão de que você estaria se referindo à forma de visualização do texto (Caption) do Panel (ou mesmo de um GroupBox). Se for isto, procure deixar mais claro o que você pretende fazer.Ainda na abordagem do colega Rodrigo Flores, deixo aqui uma função "genérica" que uso há algum tempo.Ela pode ser usada para desabilitar os itens que estão inseridos dentro de qualquer componente que possua outros componentes, como TGroupBox, TPanel, TTabSheet, TForm, ...; Pode ser adaptada a gosto para tratar componentes específicos. No meu caso, queria desabilitar os Labels e apenas marcar os DBEdits como somente leitura (para não tornar a visualização difícil dos dados):procedure EnableGroupedControls(GroupControl :TControl; Enable :Boolean); var Idx :Integer; Form :TForm; Control :TComponent; begin Control := GroupControl; // Vamos a "caça" do Form onde o componente está while not (Control is TForm) and (Control.GetParentComponent <> nil) do Control := Control.GetParentComponent; Form := Control as TForm; // Com o Form em "mãos", varremos seus componentes // procurando por componentes com a característica desejada, // ou seja, que esteja no GroupControl for Idx := 0 to Form.ComponentCount -1 do begin Control := Form.Components[Idx].GetParentComponent; if Assigned(Control) and ((Control.Owner = GroupControl) or (Control = GroupControl)) then begin if Form.Components[Idx].ClassType = TDBEdit then TDBEdit(Form.Components[Idx]).ReadOnly := not Enable else if Form.Components[Idx].ClassType = TLabel then TLabel(Form.Components[Idx]).Enabled := Enable; end; end; end; Exemplos de uso: // desabilita os componentes colocados no TabbedNotebook1, conforme os "if's" EnableGroupedControls(TabbedNotebook1, False); // habilita os componentes colocados no Panel1, conforme os "if's" EnableGroupedControls(Panel1, True); // chamado no form, desabilita os componentes colocados nele, conforme os "if's" EnableGroupedControls(Self, False); Se for manipular apenas a propriedade Enable de qualquer componente visual, então é só tirar os if's que testam ClassType e substituir por: if Form.Components[Idx] is TWinControl then TWinControl(Form.Components[Idx]).Enabled := Enable;Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Xafam Postado Outubro 23, 2008 Autor Denunciar Share Postado Outubro 23, 2008 Porém, vendo seu questionamento deste modo: "desabilitar a fonte do Panel" (...) quando atribuir False a sua propriedade Enabled, que fique igual ao que ocorre com um Label.Fico com a impressão de que você estaria se referindo à forma de visualização do texto (Caption) do Panel (ou mesmo de um GroupBox). Se for isto, procure deixar mais claro o que você pretende fazer.é isso mesmo o que eu me referia ...quero que o conteudo que estiver escrito no Panel , quando for Enable = False, fique da mesma cor de quando um Label tem a propriedade Enable = False.porque na minha aplicação , como não tem jeito de colorir um botton quando clicado, eu usei um Panel para fazer o papel de um botton .. eu usei isso em dois "botões"(Panel) .. um de adicionar e outro de editarquando o de Adicionar é "apertado/clicado" fica verde, informando o usuario que aquele "botao" foi clicado e que ele está inserindo dados .. como essa inserção de dados é demorada .. por isso que eu coloquei que o "botão"(Panel) ficasse verde, para que o usuario não se perdesse e ficar ciente que ainda está inserindo dados ...até ai .. não tem nada haver com a minha pergunta .. só que quando o usuario clica no "botao"(Panel) Adicionar (por exemplo) .. todos os outros botões(Avançar, Sair, Anterior, ....) ficam com a propriedade Enable = Falsee isso vale também para o "botão"(Panel) Editar, porem quando ele fica Enable = False, sua fonte fica com a mesma cor .. é ai que eu queria saber ... como fazer para que a COR DA FONTE do conteudo do Panel ficasse da mesma cor de quando um Botton, Label, ... tem a propriedade Enable = False Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 23, 2008 Denunciar Share Postado Outubro 23, 2008 Xafan, não dá para fazer isto sem reescrever o método paint, ou seja, criar um componente derivado do TPanel e processar a pintura dele.Nesta situação, parece melhor opção criar um botão customizado - ficam aqui dois links com código fonte:TColorButton - button with color propertiesColor ButtonCaso prefira usar mesmo um Panel, o jeito é seria fazer um pequena "gambiarra": deixa o Caption dele vazio e coloca um TLabel centralizado com o texto do "botão". Daí, você desabilita o Panel e o Label e terá o efeito desejado.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Xafam
galera ...
seguinte ... quero saber como que eu faço para desabilitar a fonte do Panel
... tipo ..
quando colocar em Enabled = False .. ficar com a cor igual de um Label com Enabled = false ....
att,
Xafam
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.