Domanda

Ho una maniglia a una finestra e il suo controllo RichEdit. Sarei in grado di sostituire il suddetto comando con uno dei miei? Mi piacerebbe che a comportarsi come quello originale sarebbe, cioè, essere una parte della finestra e simili.

Io elaboro ulteriormente lo scenario - Attualmente sto smontare un'applicazione di cui una delle caratteristiche è un editor di testo. Mia corrente (limitata) ambiente ha in sé diversi ganci alle procedure, una delle quali producono la maniglia per finestra dell'editor. Un altro mi permette di procurare la maniglia per il RichEdit20A controlla i padroni di casa della finestra.

Quello che mi piacerebbe fare è questo - Sovrascrivere il controllo con la mia (il suo equivalente .NET presumibilmente) e la patch GetWindowText dell'app chiama ad utilizzare quello nuovo. Per la sua attuazione, ho intenzione di scrivere la libreria di classi in C # / C ++ gestito e importarlo alla mia app (che è scritto in C ++ non gestito).

Inoltre, non ci può essere un numero arbitrario di istanze del editor di testo.

È stato utile?

Soluzione

Che suona troppo complessa. Basta sostituire la sua WndProc (GWL_WNDPROC), inoltro di nulla, e quindi invalidare l'HWND. Che costringerà il ridisegno (WM_PAINT) che è quindi possibile catturare. Il proprietario probabilmente non avrebbe nemmeno notato (a meno che non l'aveva agganciato così, ovviamente)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top