J'ai un objet, DC, de type CDC et j'aimerais obtenir un objet HDC. P>
J'ai lu la documentation MSDN ici , mais ne le comprend pas vraiment. P>
Quelqu'un peut-il me fournir un bref exemple / explication sur la façon de faire cela? P>
5 Réponses :
HDC hDC = dc;
Il suffit d'assigner.
CDC cdc = something. HDC hdc = cdc; if (hdc != 0) { //success... }
CDC Classe a Opérateur HDC () Code> défini qui permet au compilateur de convertir un objet CDC en HDC implicitement. Par conséquent, si vous avez CDC * et une fonction qui prend HDC, vous venez de désirer le pointeur et envoyez-le à la fonction. P>
La documénation que vous liez pour décrire une conversion Vous pouvez effectuer la conversion à l'aide d'un plus simplement: p> CDC code> est une classe C ++ qui - à une approximation raisonnable - encapsule un HDC, qui est une poignée dans un contexte de périphérique.
Opérateur code>, qui est une construction C ++ que les classes peuvent alimenter pour permettre la conversion implicite d'une instance d'une classe à un autre type. Dans ce cas, la conversion implicite entraîne la poignée sous-jacente (HDC) que l'instance code> CDC code> encapsule. P>
CDC code> L'instance n'importe où était qu'il doit être converti à un
HDC code>. p>
Lorsque vous avez si vous avez le pointeur sur CDC code> objet, il sera implicitement converti en
HDC code> si nécessaire:
CDC code> objet puis à l'aide de la fonction
getsafehdc code> sera plus clair: p>