DrawText的输出问题
我在窗体中尝试用DrawText输出,一开始可以,但是使用SetTextColor(g_hdc,crTransparent)时也没有发生什么改变,输出还是一样。用了SetBkMode(g_hdc,TRANSPARENT)之后Drawtext就无法输出了。程序代码:
void Out(int nXOriginDest,int nYOriginDest,HFONT hf,COLORREF crTransparent,const char* wanna_char) { RECT rect; SetRect(&rect,nXOriginDest,nYOriginDest,1200,720); COLORREF Last_Color = SetTextColor(g_hdc,crTransparent);//这句用不用没有区别 int Last_Mode = SetBkMode(g_hdc,TRANSPARENT);//这句用完就没有输出 SelectObject(g_hdc,hf);//字体 DrawText(g_hdc,wanna_char,-1,&rect,DT_LEFT | DT_WORDBREAK | DT_EXPANDTABS); SetBkMode(g_hdc,Last_Mode); SetTextColor(g_hdc,Last_Color); return; }
另外,我用的是多字节字符集,之前看大佬在Dev上好好的,搬运到VS2017后就不行了