Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CDC::DrawText不';不行?_C++_Visual C++_Mfc - Fatal编程技术网

C++ CDC::DrawText不';不行?

C++ CDC::DrawText不';不行?,c++,visual-c++,mfc,C++,Visual C++,Mfc,我收到一个错误:在myDC.DrawText上调试断言失败? 如果我删除该行,图形工作正常 CPaintDC dc(this); CBitmap myBmp; CDC myDc; HANDLE h = ::LoadImage(NULL,"C:\\lady.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); myBmp.Attach(h); myDc.DrawText("Hello",CRect(10,10,100,30),DT_CENTER); // Debu

我收到一个错误:在myDC.DrawText上调试断言失败? 如果我删除该行,图形工作正常

CPaintDC dc(this);

CBitmap myBmp;
CDC myDc;

HANDLE h = ::LoadImage(NULL,"C:\\lady.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
myBmp.Attach(h);

myDc.DrawText("Hello",CRect(10,10,100,30),DT_CENTER);  // Debug Assertion Failed


myDc.CreateCompatibleDC(&dc);
myDc.SelectObject(&myBmp);
dc.BitBlt(20,10,436,363,&myDc,0,0,SRCCOPY);

在实际创建DC之前,您正在绘制文本。将DrawText行移到CreateCompatibleDB行下方。

在实际创建DC之前,您正在绘制文本。将DrawText行移到CreateCompatibleDB行下方。

这有助于解决错误。但是我没有看到文本?我也尝试过使用CDC::TextOut,但没有看到任何文本?您并没有真正说出您在这里想要实现的目标。如果要在图像顶部绘制文本,请将DrawText放在BitBlt之后的最后一个位置,否则BitBlt将在文本顶部绘制位图(很可能完全遮挡文本)最后一个操作。。。没有什么?有我必须指定的字体吗?哎呀,我看错代码了。应该是:1。createcompatibledc2。选择对象(&myBmp)3。DrawText,4。回到油漆厂。这里有一篇关于这类事情的文章:这有助于解决错误。但是我没有看到文本?我也尝试过使用CDC::TextOut,但没有看到任何文本?您并没有真正说出您在这里想要实现的目标。如果要在图像顶部绘制文本,请将DrawText放在BitBlt之后的最后一个位置,否则BitBlt将在文本顶部绘制位图(很可能完全遮挡文本)最后一个操作。。。没有什么?有我必须指定的字体吗?哎呀,我看错代码了。应该是:1。createcompatibledc2。选择对象(&myBmp)3。DrawText,4。回到油漆厂。这里有一篇关于这类事情的文章: