Fórum Como pegar o valor do text, componente criando em tempo projeto? #400944
12/05/2011
0
Pessoal, bom dia...
Estou tentando criar um componente herdado do TLabelEdit, mais com uma propriedade para mudar o TLableEdit em TComboBox, como não vi uma forma de fazer isso, criei um combo dinamicamente quando mudo a propriedade para dropdown.
Segue o código
Minha duvida é:
Quando selecionar para ser combobox e colocar um valor no texto... Passar este valor?
Tipo
ShowMessage(TCASLlblEdt(FindComponent('CASComboBox')).Text);
Outra coisa também, quando entrar nesta condição aqui
Gostaria que o combobox desaparecesse antes mesmo de compilar, tem como?
Obrigado pessoal.
Estou tentando criar um componente herdado do TLabelEdit, mais com uma propriedade para mudar o TLableEdit em TComboBox, como não vi uma forma de fazer isso, criei um combo dinamicamente quando mudo a propriedade para dropdown.
Segue o código
procedure TCASLlblEdt.SetStyle(const Value: TStyleComboBox);
var
CASComboBox: TComboBox;
begin
{criando um combobox dinamicamente}
CASComboBox := TComboBox.Create(nil);
try
FStyle := Value;
//Redimensiona a caixa de texto do edit
if Value = cbSimple then
begin
Self.Width := 121;
CASComboBox.Visible := False;
FreeAndNil(CASComboBox);
end
else
begin
Self.Width := 49;
with CASComboBox do
begin
Parent := Self;
Name := 'CASComboBox';
Text := EmptyStr;
Visible := True;
Top := -2;
Left := -2;
Width := 49;
//Passando valores para o List do ComboBox
Items.Text := 'AC'+#13+#10+'AL'+#13+#10+'AP'+#13+#10+'AM'+#13+#10+
'BA'+#13+#10+'CE'+#13+#10+'DF'+#13+#10+'GO'+#13+#10+
'ES'+#13+#10+'MA'+#13+#10+'MT'+#13+#10+'MS'+#13+#10+
'MG'+#13+#10+'PA'+#13+#10+'PB'+#13+#10+'PR'+#13+#10+
'PE'+#13+#10+'PI'+#13+#10+'RJ'+#13+#10+'RN'+#13+#10+
'RS'+#13+#10+'RO'+#13+#10+'RR'+#13+#10+'SP'+#13+#10+
'SC'+#13+#10+'SE'+#13+#10+'TO';
//muda o Label do edit
Self.EditLabel.Caption := 'UF';
end;
end;
finally
//
end;
end;Minha duvida é:
Quando selecionar para ser combobox e colocar um valor no texto... Passar este valor?
Tipo
ShowMessage(TCASLlblEdt(FindComponent('CASComboBox')).Text);
Outra coisa também, quando entrar nesta condição aqui
if Value = cbSimple then begin Self.Width := 121; CASComboBox.Visible := False; FreeAndNil(CASComboBox); end
Gostaria que o combobox desaparecesse antes mesmo de compilar, tem como?
Obrigado pessoal.
Adriano Dolce
Curtir tópico
+ 0
Responder
Posts
12/05/2011
Adriano Dolce
A duvida 01 eu ja resolvi, passando o valor do ComboBox para o Self do componente
Resolvi criar o TComboBox no onCreate e destrui-lo no Destroy da classe.
Mudei esta parte aqui
Mais ainda continui com problema para eliminar o combobox quando mudo a propriedade do componente
//Pega o result do combobox Self.Text := CASComboBox.Text;
Resolvi criar o TComboBox no onCreate e destrui-lo no Destroy da classe.
Mudei esta parte aqui
procedure TCASLlblEdt.SetStyle(const Value: TStyleComboBox); begin FStyle := Value; //Redimensiona a caixa de texto do edit if Value = cbSimple then Self.Width := 121 else begin Self.Width := 49; with CASComboBox do begin Parent := Self; Name := 'CASComboBoxX'; Text := EmptyStr; Visible := True; Top := -2; Left := -2; Width := 49; //Passando valores para o List do ComboBox Items.Text := 'AC'+#13+#10+'AL'+#13+#10+'AP'+#13+#10+'AM'+#13+#10+'BA'+#13+#10+ 'CE'+#13+#10+'DF'+#13+#10+'GO'+#13+#10+'ES'+#13+#10+'MA'+#13+#10+ 'MT'+#13+#10+'MS'+#13+#10+'MG'+#13+#10+'PA'+#13+#10+'PB'+#13+#10+ 'PR'+#13+#10+'PE'+#13+#10+'PI'+#13+#10+'RJ'+#13+#10+'RN'+#13+#10+ 'RS'+#13+#10+'RO'+#13+#10+'RR'+#13+#10+'SP'+#13+#10+'SC'+#13+#10+ 'SE'+#13+#10+'TO'+#13+#10+'EX'+#13+#10+' '; //muda o Label do edit Self.EditLabel.Caption := 'UF'; end; end; end;
Mais ainda continui com problema para eliminar o combobox quando mudo a propriedade do componente
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)