Ir ao conteúdo
  • Cadastre-se

Problema com WM_GETTEXT e WM_SETTEXT WinAPI


ChicoLiebl

Posts recomendados

Ainda sou um aspirante a programador e estou aprendendo a mexer com a biblioteca windows.h(WinAPI). Lá estava eu muito feliz criando um simples programinha que apenas copia o que é digitado de uma EditBox para outra.

Não vou postar o codigo todo somente o que eu fiz.


char str[70] = "0"

Assim eu declarei a variável.


SendMessage((HWND) box[1],(UINT) WM_GETTEXT, (WPARAM) 1, (LPARAM) &str);
SendMessage((HWND) box[2],(UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &str);

Assim eu fiz para que o texto fosse lido e copiado.


box[1] = CreateWindowEx (WS_EX_CLIENTEDGE, "EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER, 80, 20, 170, 20, hwnd, NULL, g_inst, NULL);

box[2] = CreateWindowEx (WS_EX_CLIENTEDGE, "EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER, 80, 48, 170, 20, hwnd, NULL, g_inst, NULL);

E por ultimo, como eu criei as EditBox.

Por algum motivo nada acontece quando eu aperto o botão que executa esses dois SendMessage (sim já testei se o problema não é o botão).

Se alguém precisar de mais informações sobre o código para me ajudar com esse problema por-favor peça.

Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

			SendMessage(textBox1, WM_GETTEXT, (WPARAM) 11, (LPARAM) buffer);
SendMessage(textBox2, WM_SETTEXT, (WPARAM) 10, (LPARAM) buffer);

primeira mensagem pegar os primeiros 10 caracteres (colocamos 1 a mais porque o ultimo caracter vai ser '\0') e coloca no buffer,

segunda mensagem coloca os 10 (o tamanho deste deve ser a quantidade maxima real de letras a ser copiada) caracteres no textBox2

lembrando que o buffer ja deve estar alocado na memoria. Não é necessario colocar a referencia (&).

Link para o comentário
Compartilhar em outros sites

			SendMessage(textBox1, WM_GETTEXT, (WPARAM) 11, (LPARAM) buffer);
SendMessage(textBox2, WM_SETTEXT, (WPARAM) 10, (LPARAM) buffer);

primeira mensagem pegar os primeiros 10 caracteres (colocamos 1 a mais porque o ultimo caracter vai ser '\0') e coloca no buffer,

segunda mensagem coloca os 10 (o tamanho deste deve ser a quantidade maxima real de letras a ser copiada) caracteres no textBox2

lembrando que o buffer ja deve estar alocado na memoria. Não é necessario colocar a referencia (&).

Realmente funcionou, muito obrigado.

Ainda preciso entender um pouco melhor o que estou fazendo para não errar nesses detalhes.

Muito obrigado!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...