Question

J'ai une poignée à une fenêtre et son contrôle RichEdit. Est-ce que je pourrai remplacer ladite commande avec un de mes propres? Je voudrais qu'il se comporte comme l'original serait, à savoir, faire partie de la fenêtre et suchlike.

Je vais élaborer le scénario plus loin - je désassemblage actuellement une application dont l'une des caractéristiques est un éditeur de texte. Mon environnement actuel (restreint) a en elle plusieurs crochets aux procédures, l'une qui donnent la poignée à la fenêtre de l'éditeur. Un autre me permet de accorderai la poignée au RichEdit20A contrôle les hôtes de la fenêtre.

Ce que je voudrais faire est ce - Ecraser le contrôle avec mon propre (son équivalent .NET probablement) et le patch GetWindowText de l'application appelle à utiliser la nouvelle. Pour la mettre en œuvre, je prévois d'écrire la bibliothèque de classes en C # / C ++ géré et l'importer à mon application (ce qui est écrit en C ++ non géré).

En outre, il peut y avoir un nombre arbitraire d'instances de l'éditeur de texte.

Était-ce utile?

La solution

Cela semble trop complexe. Il suffit de remplacer son WndProc (GWL_WNDPROC), rien transmettre, puis invalider le HWND. Cela forcera un nouveau tracé (WM_PAINT) que vous pouvez ensuite capturer. Le propriétaire serait probablement même pas remarqué (à moins qu'ils l'avaient accroché et, bien sûr)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top