Autor Tema: No puedo recibir el evento WM_NOTIFY en un Textbox (en un UC)  (Leído 3624 veces)

0 Usuarios y 1 Visitante están viendo este tema.

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
No puedo recibir el evento WM_NOTIFY en un Textbox (en un UC)
« en: Noviembre 08, 2011, 01:32:32 am »
Alguien tiene una idea de porque puede pasar esto?
Necesito obtener las notificaciones EN_KILLFOCUS, EN_SETFOCUS, EN_CHANGE, EN_UPDATE. Basicamente es para poder pintarle un icono al control (seria una lupa o una cruz).
Estoy haciendo un control para buscar, muy similar al de windows y demases funciones.

PD: Estoy usando el codigo subclass de Paul Caton; y subclasifico al textbox (para WM_PAINT) y al UserControl (aca deberian venir los WM_NOTIFY). El UC es el Parent del Textbox... asi que, me parece raro...

Igualmente el WM_NOTIFY no me llega ni al UC, ni al textbox

saludos
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:No puedo recibir el evento WM_NOTIFY en un Textbox (en un UC)
« Respuesta #1 en: Noviembre 08, 2011, 03:24:07 pm »
Como llamas a CreateWindowEx ? O es un textbox de vb?

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:No puedo recibir el evento WM_NOTIFY en un Textbox (en un UC)
« Respuesta #2 en: Noviembre 08, 2011, 03:28:34 pm »
es un textbox de VB, pero me parece raro.. porque le mando mensajes de propiedades nuevas (EM_SETCUEBANNER) y los acepta perfecto...
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:No puedo recibir el evento WM_NOTIFY en un Textbox (en un UC)
« Respuesta #3 en: Noviembre 08, 2011, 03:35:28 pm »
yo me hice un usercontrol tipo firefox con la lupita y la cruz para borrar el texto y el famoso texto en gris cuando pierde el foco, pero lo hice con un label, ya que la aplicacion padre que lo usa, no tiene los temas de windows y ese mensaje solo lo acepta con los temas. me quedo bueno, despues lo posteo, esta asi nomas, pero sirve para lo que es.

saludos.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:No puedo recibir el evento WM_NOTIFY en un Textbox (en un UC)
« Respuesta #4 en: Noviembre 08, 2011, 06:22:54 pm »
Hace una prueba de verdad si GetParent(Textbox.hwnd) es el hwnd del usercontrol :P

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:No puedo recibir el evento WM_NOTIFY en un Textbox (en un UC)
« Respuesta #5 en: Noviembre 09, 2011, 09:59:47 am »
si,  es el parent... ademas, probe hacer subclass a textbox.parent.hwnd... en fin, no va :P
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion