Mascara em um ComboBox
Gostaria de saber... se posso atribuir uma máscara a um ComboBox... preciso colocara uma máscara de hora ( __:__:__ ) ou ( 00:00:00 )
Isso é possível ?
Antecipadamente Agradeço a Atenção...
Isso é possível ?
Antecipadamente Agradeço a Atenção...
Adelor Silva
Curtidas 0
Respostas
Marco Salles
03/09/2006
tente:
procedure TForm1.Button1Click(Sender: TObject); const mascar=´(99:99:99);0;_´; begin combobox1.Items.Add(MaskDoFormatText(mascar,edit1.Text,#48)); end;
GOSTEI 0
Night_man
03/09/2006
na hora q voce atribui os valores para os items nova jah com a mascara certa... ou senao faca o seu propri desenho do combo
GOSTEI 0
Adelor Silva
03/09/2006
lamento pessoal... mas não consegui fazer nada com as dicas...
Quando eu preciono o TAB e o ComboBox recebe o Foco... eu preciso que a Máscara seja criada...
Marco Salles... a sua dica da erro no final do [b:b1c2fa6141]´const´[/b:b1c2fa6141], e não compila... mesmo assim obrigado...
Quando eu preciono o TAB e o ComboBox recebe o Foco... eu preciso que a Máscara seja criada...
Marco Salles... a sua dica da erro no final do [b:b1c2fa6141]´const´[/b:b1c2fa6141], e não compila... mesmo assim obrigado...
GOSTEI 0
Adelor Silva
03/09/2006
sobe
GOSTEI 0
Night_man
03/09/2006
desculpa cara, acho q nao estou te entendendo direito, tu pode ser mais claro na descricao do teu problema?!
como assim mascara??
seria uma mistura de maskedit com combo?!
como assim mascara??
seria uma mistura de maskedit com combo?!
GOSTEI 0
Adelor Silva
03/09/2006
Sem problemas NiGHT_MaN... o que eu preciso é mais ou menos assim...
eu programei o ComboBox para ter alguns valores de horas, do tipo
08:00:00
08:15:00
08:30:00
08:45:00
09:00:00
mas eu gostaria de colocar uma máscara, caso o meu usuário queira coloca uma hora que não está na lista que eu disponibilizo para ele... digamos que ele queira colocar: 08:10:00, ele vai ter que digitar tudo...
o que eu gostaria era de facilitar a a vida do usuário... com a máscara de horário
__:__:__ dai ele não precisa digitar os dois pontos (:), e sím somente os dígitos correspondentes ao horário...
mas esta máscara eu gostaria de atribuir, quando o componente recebesse o foco, se ele quiser digitar a máscara estaria pronta... caso contrário ele optaria por um valor previamente programado que iria escolher na lista de opções...
Espero ter tirado sua dúvida... Obrigado pela sua disposição de ajudar...
eu programei o ComboBox para ter alguns valores de horas, do tipo
08:00:00
08:15:00
08:30:00
08:45:00
09:00:00
mas eu gostaria de colocar uma máscara, caso o meu usuário queira coloca uma hora que não está na lista que eu disponibilizo para ele... digamos que ele queira colocar: 08:10:00, ele vai ter que digitar tudo...
o que eu gostaria era de facilitar a a vida do usuário... com a máscara de horário
__:__:__ dai ele não precisa digitar os dois pontos (:), e sím somente os dígitos correspondentes ao horário...
mas esta máscara eu gostaria de atribuir, quando o componente recebesse o foco, se ele quiser digitar a máscara estaria pronta... caso contrário ele optaria por um valor previamente programado que iria escolher na lista de opções...
Espero ter tirado sua dúvida... Obrigado pela sua disposição de ajudar...
GOSTEI 0
Marco Salles
03/09/2006
o que voce quer talves seje isto..
{$R *.dfm}
apimente a gosto.. Por exemplo programar o Keypress para receber so numeros , ou definir um tamanho para o combobox , para evitar valors maiores do que o formato.. Emfim ...
uses MaskUtils;
{$R *.dfm}
procedure TForm1.Cb1Change(Sender: TObject); const mascar=´99:99:99;0;_´; var formato:String; posicao:integer; begin if cb1.Text = ´´ Then begin cb1.OnChange:=nil; cb1.Text:=´ : : ´; cb1.OnChange:=Cb1Change; end else begin formato:=cb1.Text; formato:=StringReplace(cb1.Text,´:´,´´,[rfReplaceAll, rfIgnoreCase]); formato:=trim(formato); cb1.Text:=MaskDoFormatText(mascar,formato,´ ´); case length(formato) of 1: cb1.SelStart:=1; 2: cb1.SelStart:=3; 3: cb1.SelStart:=4; 4: cb1.SelStart:=6; 5: cb1.SelStart:=7; 6: cb1.SelStart:=8; end; end; end;
procedure TForm1.Cb1Enter(Sender: TObject); const mascar=´99:99:99;0;_´; var formato:String; begin formato:=cb1.Text; formato:=StringReplace(cb1.Text,´:´,´´,[rfReplaceAll, rfIgnoreCase]); formato:=trim(formato); cb1.Text:=MaskDoFormatText(mascar,formato,´ ´); end;
apimente a gosto.. Por exemplo programar o Keypress para receber so numeros , ou definir um tamanho para o combobox , para evitar valors maiores do que o formato.. Emfim ...
GOSTEI 0
Adelor Silva
03/09/2006
Marco Salles... Mais uma vez... muito obrigado... a você NiGHT_MaN... obrigado também...
Agradeço por disponibilizar tempo para ajudar a outros, desta forma colaborar com meu aprendizado... fico grato... valew
Agradeço por disponibilizar tempo para ajudar a outros, desta forma colaborar com meu aprendizado... fico grato... valew
GOSTEI 0