Você está aqui: C++ Builder ::: VCL - Visual Component Library ::: TEdit

Como retornar o tamanho do texto de um TEdit usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTLENGTH usando C++ Builder

Quantidade de visualizações: 5919 vezes
Embora o C++ Builder já nos forneça as ferramentas necessárias para obter a quantidade de caracteres contidos em um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXTLENGTH.

A função SendMessage() da API do Windows possui a seguinte assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

LRESULT SendMessage(          
  HWND hWnd,
  UINT Msg,
  WPARAM wParam,
  LPARAM lParam
);

Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e a mensagem que será enviada ao controle. Os valores para os parâmetros wParam e lParam devem ser 0 (zero). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)
{
  // vamos obter o tamanho do texto de um TEdit usando a função
  // SendMessage() e a mensagem WM_GETTEXTLENGTH
  int tam = SendMessage(Edit1->Handle, WM_GETTEXTLENGTH, 0, 0);

  // vamos mostrar o resultado
  ShowMessage("O Edit contém " + IntToStr(tam) + " caracteres.");
}

Ao executar este exemplo você terá um mensagem com um texto parecido com:

O Edit contém 10 caracteres.

Link para compartilhar na Internet ou com seus amigos:

C++ Builder ::: VCL - Visual Component Library ::: TEdit

Como definir o conteúdo de um TEdit em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_SETTEXT usando C++ Builder

Quantidade de visualizações: 5819 vezes
Embora o C++ Builder já nos forneça as ferramentas necessárias para definir o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_SETTEXT.

A função SendMessage() da API do Windows possui a seguinte assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

LRESULT SendMessage(          
  HWND hWnd,
  UINT Msg,
  WPARAM wParam,
  LPARAM lParam
);

Note que precisamos de um HWND (Handle) para a caixa de texto. Feito isso só precisamos enviar a mensagem WM_SETTEXT juntamente com o conteúdo a ser exibido no controle. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)
{
  // conteúdo a ser definido para a caixa de texto
  char texto[] = "Veja isso";

  // vamos definir o conteúdo usando a função SendMessage
  // fornecendo a mensagem WM_SETTEXT
  SendMessage(Edit1->Handle, WM_SETTEXT, 0, (LPARAM)texto);
}

Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT.


C++ Builder ::: VCL - Visual Component Library ::: TEdit

Como habilitar ou desabilitar um TEdit usando a função EnableWindow() da API do Windows usando C++ Builder

Quantidade de visualizações: 6027 vezes
Embora o C++ Builder já nos forneça as ferramentas necessárias para habilitar ou desabilitar um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função EnableWindow() com os valores true ou false.

A função EnableWindow() possui a seguinte assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

BOOL EnableWindow(          
  HWND hWnd,
  BOOL bEnable
);

Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e um valor BOOL. Se fornecermos false, a caixa de texto será desabilitada. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)
{
  // vamos desabilitar o TEdit usando a função EnableWindow()
  // com o valor false
  if(EnableWindow(Edit1->Handle, false)){
	ShowMessage("A caixa de texto foi desabilitada com sucesso.");
  }
}

Para habilitar a caixa de texto novamente, só precisamos fornecer o valor true para o parâmetro bEnable:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)
{
  // vamos habilitar o TEdit usando a função EnableWindow()
  // com o valor true
  if(EnableWindow(Edit1->Handle, true)){
	ShowMessage("A caixa de texto foi habilitada com sucesso.");
  }
}

É importante observar que o retorno da função EnableWindow será FALSE se tentarmos habilitar uma caixa de texto que já está habilitada ou tentarmos desabilitar uma caixa de texto que já está desabilitada.


C++ Builder ::: VCL - Visual Component Library ::: TEdit

Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ Builder

Quantidade de visualizações: 6117 vezes
Em algumas ocasiões nós precisamos descobrir a quantidade de caracteres contidos em uma caixa de texto do tipo TEdit. Para isso podemos usar o método GetTextLen() do C++ Builder, definido originalmente na classe TControl. Esta função retorna um valor inteiro contendo o tamanho do texto da caixa de texto.

Veja um exemplo do uso do método GetTextLen() no trecho de código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)
{
  // vamos obter a quantidade de caracteres no TEdit
  int tamanho = Edit1->GetTextLen();

  // vamos mostrar o resultado
  ShowMessage("O Edit contém " + IntToStr(tamanho) + " caracteres.");
}

Ao executar este exemplo você terá um resultado parecido com:

O Edit contém 5 caracteres.


Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

for i in range(0, 10, 3):
  print(i, end="  ")

A) 0 3 6 9

B) 0 1 2 3

C) 3 6 9 12

D) 10 20 30 40

E) 0 0 0 0
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Fases de uma obra

Em relação aos conceitos envolvidos na elaboração de um orçamento de obras, assinale a alternativa correta.

A) Custos diretos são aqueles em que é necessário estipular um fator de rateio para que sejam apropriados aos serviços.

B) Devem ser incluídas no título "desmobilização" de um orçamento as despesas com locação, fechamento, tapumes, demolições e relocações.

C) A administração do canteiro de obras e as despesas decorrentes da administração da empresa fazem parte dos custos diretos de uma obra.

D) Como regra, orçam-se os preços na construção civil por serviço, determinando-os segundo a produção de composições unitárias.

E) Em um solo, caso seja necessário escavar 1 m3 do terreno, deve-se orçar, no item referente à escavação do material, o valor 1,4 m3.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O código de ética profissional: Concorrência

Ao longo da história, os mercados foram se estruturando de diversas formas. Nesse contexto, em cada estrutura, a relação oferta e demanda assume comportamentos distintos em função das suas particularidades. Assim, podemos afirmar que, classicamente, o mercado, hoje, está estruturado de uma forma bem definida. Indique a alternativa que contém as possibilidades de estrutura de mercado.

A) Oligopólio, concorrência monopolista, empresa concorrencial, concorrência perfeita.

B) Monopólio, oligopólio, concorrência monopolista e concorrência interna.

C) Monopsônio, concorrência monopolista, oligopólio e concorrência perfeita.

D) Monopólio, oligopsônio, concorrência monopolista e concorrência perfeita.

E) Monopólio, oligopólio, concorrência monopolista, concorrência perfeita.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Evolução das estruturas

Os materiais e os sistemas construtivos e estruturais têm, no último século, apresentado uma enorme evolução, com inúmeras tecnologias inovadoras. Contudo, se recuarmos há 125 anos atrás, a história da arquitetura anterior a esta época estaria restrita às construções utilizando poucos materiais. Assinale abaixo a opção que melhor representa estes materiais:

Selecione a resposta:

A) Alvenaria e madeira.

B) Madeira e aço.

C) Madeira e pedra.

D) Tijolo e madeira.

E) Tijolo e aço.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Survey Points e COGO Points

Survey points não podem ser movidos ou editados sem acessar a base de dados do levantamento e sem usar comandos especializados para a edição de pontos de levantamento.

A) Verdadeiro

B) Falso
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de C++ Builder

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 9 usuários muito felizes estudando em nosso site.