Você está aqui: C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como retornar o conteúdo de um TEdit em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTQuantidade de visualizações: 5916 vezes |
Embora o C++ Builder já nos forneça as ferramentas necessárias para obter 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_GETTEXT. A função SendMessage() da API do Windows possui a seguinte assinatura: LRESULT SendMessage( HWND hWnd, UINT Msg, Note que precisamos de um HWND (parâmetro hWnd) para a caixa de texto. Temos que fornecer também a quantidade de caracteres que serão lidos (parâmetro wParam) e um buffer no qual os caracteres lidos a partir da caixa de texto serão colocados (parâmetro lParam). Veja: void __fastcall TForm3::Button2Click(TObject *Sender) { // buffer que receberá o conteúdo da caixa de texto char texto[255]; // caberá 254 caracteres // vamos obter o conteúdo usando a função SendMessage // fornecendo a mensagem WM_GETTEXT SendMessage(Edit1->Handle, WM_GETTEXT, 255, (LPARAM)texto); Veja que neste exemplo eu usei o contrutor da classe AnsiString para converter uma string C terminada em null em uma string AnsiString que pode ser usada nos controles VCL. |
![]() |
Veja mais Dicas e truques de C++ Builder |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |