C++ CDC::DrawText不';不行?
我收到一个错误:在myDC.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
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。回到油漆厂。这里有一篇关于这类事情的文章: