InputBox com texto apenas em caixa alta.
Declare a unit Messages, e a constante abaixo logo após a seção uses de sua unit.
Const
InputBoxMsg = WM_USER + 123;
Vamos agora declarar a procedure responsável pela conversão dos caracteres minúsculos em maiúsculos.
private
{ Private declarations }
procedure InputBoxSet(var Msg: TMessage); message InputBoxMsg;
Contruindo a procedure que fará a transformção:
procedure TFormXX.InputBoxSet(var Msg: TMessage);
var
i: integer;
begin
for i:=0 to Screen.Forms[0].ComponentCount-1 do
begin
if Screen.Forms[0].Components[i] is TEdit then
begin
With TEdit( Screen.Forms[0].Components[i] ) do
begin
CharCase := ecUpperCase;
end;
end;
end;
end;
Exemplo de uso da InputBox
var
Pega: string;
begin
// Usaremos PostMessage para enviar a mensagem em caixa alta
PostMessage(Handle, InputBoxMsg, 0, 0);
Pega := InputBox('Pergunta', 'Qual a sua profissão?', '');
if Pega <> '' then
ShowMessage('Sua profissão é : ' + Pega);
end;
Em uma próxima oportunidade, mostrarei como fazer para o inputbox aceitar outros tipos e colocarei um arquivo para download dos exemplos.