10
votes

Comment puis-je obtenir un objet HDC à partir d'un objet CDC?

J'ai un objet, DC, de type CDC et j'aimerais obtenir un objet HDC.

J'ai lu la documentation MSDN ici , mais ne le comprend pas vraiment.

Quelqu'un peut-il me fournir un bref exemple / explication sur la façon de faire cela?


0 commentaires

5 Réponses :


2
votes
HDC hDC = dc;

0 commentaires

2
votes

Il suffit d'assigner.

CDC cdc = something.
HDC hdc = cdc;
if (hdc != 0)
{
  //success...
}


0 commentaires

11
votes

CDC Classe a Opérateur HDC () 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.


0 commentaires

3
votes

CDC est une classe C ++ qui - à une approximation raisonnable - encapsule un HDC, qui est une poignée dans un contexte de périphérique.

La documénation que vous liez pour décrire une conversion Opérateur , 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 CDC encapsule.

Vous pouvez effectuer la conversion à l'aide d'un CDC L'instance n'importe où était qu'il doit être converti à un HDC .

plus simplement: xxx


0 commentaires

14
votes

Lorsque vous avez CDC objet, il sera implicitement converti en HDC si nécessaire: xxx

si vous avez le pointeur sur CDC objet puis à l'aide de la fonction getsafehdc sera plus clair: xxx


0 commentaires