求助:DirectX中 TextOut怎么不能显示
小弟刚学DirectX编程,刚写的第一个Hello,World程序。不巧,显示都不行。
看了看代码,估计是在这里的问题。
BOOL InitDDraw(void)
{
DDSURFACEDESC ddsd; //页面描述
HDC hdc; //设备环境句柄
if ( DirectDrawCreate( NULL, &lpDD, NULL ) != DD_OK ) return FALSE;
if ( lpDD->SetCooperativeLevel( GetActiveWindow(),DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN ) != DD_OK)
return FALSE;
if ( lpDD->SetDisplayMode( 640, 480, 8 ) != DD_OK) return FALSE;
ddsd.dwSize = sizeof( ddsd );
ddsd.dwFlags = DDSD_CAPS ;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
if ( lpDD->CreateSurface( &ddsd, &lpDDSPrimary, NULL ) != DD_OK)
return FALSE;
if ( lpDDSPrimary->GetDC(&hdc) != DD_OK) return FALSE;
SetBkColor( hdc, RGB( 0, 0, 255 ) );
SetTextColor( hdc, RGB( 255, 255, 0 ) );
TextOut( hdc, 220, 200, szMsg1, lstrlen(szMsg1));
TextOut( hdc, 280, 240, szMsg2, lstrlen(szMsg2));
lpDDSPrimary->ReleaseDC(hdc);
return TRUE;
}
注:小弟调试的时候能看到字体的输出。
谢谢各位大虾了