MFC und WinAPI Funktionen zusammen benutzen?

BoT

Mitglied
Kann man eigentlich auch API-Funktionen aus <windows.h> auch für seine MFC Programme benutzen?

Ich meine damit, ob man zum Beispiel die Funktion
Code:
TextOut()
des GDI benutzen kann, während ich die normalen MFC Kontrollstrukturen benutze.
 
Sicher, das geht. Die API-Funktion werden ohnehin aufgerufen, da MFC diese eigentlich nur objektorientiert verpackt. Für die API-Funktionen benötigst du normalerweise Handles (HWND, HDC usw.). Folgendes ist beispielsweise sinnvoll:
Code:
HDC hdc = myDC.GetSafeHdc( ); 
::TextOut(  hdc,  0, 0, "Huhu!", 5 ); 
//anstelle von
myDC.TextOut( 0, 0, "Huhu!", 5 );

HWND hwnd = myDialog.GetSafeHwnd( ); 
::SetWindowText( hwnd, "Huhu!" ); 
//anstelle von
myDialog.SetWindowText( "huhu!" );
 
Vielen Dank ;)

Ich muss ohnehin noch sehr viel über Windows-Programmierung lernen...

Was genau ist eigentlich ein Handle? Das erinnert mich an sowas wie einen Zeiger. (hwnd ist ein Handle auf...)
 
Was genau ist eigentlich ein Handle? Das erinnert mich an sowas wie einen Zeiger. (hwnd ist ein Handle auf...)
Mit einem Zeiger kann man es nicht vergleichen - es ist eher sowas wie die persönliche ID oder Telefonnummer von einem Objekt, auf das man nicht direkt zugreifen kann, sondern nur über API-Funktionen.
 

Neue Beiträge

Zurück