Pregunta

Tengo un identificador a una ventana y su control RichEdit. ¿Sería capaz de sustituir dicha de control con uno de mi propia? Me gustaría que se comporte como lo haría el original, es decir, ser parte de la ventana y cosas por el estilo.

Voy a elaborar el escenario más - Actualmente estoy desmontando una aplicación una de cuyas características es un editor de texto. Mi entorno actual (restringido) tiene en ella varios ganchos a procedimientos, uno de los cuales producen el identificador de la ventana del editor. Otro me permite procurar la manija a la RichEdit20A controla los anfitriones de la ventana.

Lo que me gustaría hacer es esto - sobrescribir el control de mi propio (su equivalente .NET presumiblemente) y el parche GetWindowText de la aplicación llama a utilizar la nueva. Para ponerlo en práctica, planeo escribir la biblioteca de clases en C # / C ++ administrado e importarlo a mi aplicación (que está escrito en C ++ no administrado).

Además, no puede haber un número arbitrario de instancias del editor de texto.

¿Fue útil?

Solución

Eso suena demasiado compleja. Basta con sustituir su WndProc (GWL_WNDPROC), reenvío de nada, y luego invalidar el HWND. Eso obligará a volver a dibujar (WM_PAINT) que luego se puede capturar. El propietario probablemente no se daría cuenta (a menos que se habían enganchado también, por supuesto)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top