急:图形文本输出 我最近要在一个对话框上显示文字,这个对话框用BMP位图来做背景,那么文字显示时要求是透明北景,也就不能用TextOut了,谁有这方面的经验,能不能给个例子看一看,或是做个解答,万分感谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加上这句话然后就可以使用TextOut透明背景输出了 在.h中定义:CBitmap m_bmpBackground;OnInitDialog()中加入: m_bmpBackground.LoadBitmap(IDB_BITMAPBACKGROUND); 在OnPaint() 刷新: CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); BITMAP bitMap; m_bmpBackground.GetBitmap(&bitMap); CBitmap *pbmpOld=dcMem.SelectObject(&m_bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);你可以在任何地方TextOut 了。因为先把图已经贴上了。TextOut必须先获取窗口的CDC. 那你在写进这些字之前就要把位图保存下来,想要删除的话就把位图的相应区域BitBlt到DC的合适地方 主要是创建一个内存DC,给内存DC选择进入一个屏幕大小的位图然后你在TextOut之前先把要覆盖的区域BitBlt到内存DC的合适位置里面,擦除的话可以把内存DC的合适位置的位图BitBlt到屏幕DC中 算法是不是可以优化,bluebohe的方法有点浪费资源,每次写字之前都要画一遍图。如果你在static里写字只要Updatedata(TRUE) textout( ) UpdateDate(FALSE); VC对话框中 修改 菜单栏 工具栏 背景 用MFC怎么实现CAsyncSocket套接字的tcp连接? 关于VC6动态分割窗口的话题,希望有人解决一下!! 请看一个错误: 大虾们,怎么得到硬盘的个数啊??????? 怎么获得View指针?较难! 关于记录集的问题 如何向项目中添加.lib库文件连接 关于CToolBarCtrl控件的问题 MAP地图与屏幕坐标是怎么对应的呢 求书 向帅哥,美女们请教!谢谢!
OnInitDialog()中加入:
m_bmpBackground.LoadBitmap(IDB_BITMAPBACKGROUND);
在OnPaint() 刷新: CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
BITMAP bitMap;
m_bmpBackground.GetBitmap(&bitMap);
CBitmap *pbmpOld=dcMem.SelectObject(&m_bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);
你可以在任何地方TextOut 了。因为先把图已经贴上了。
TextOut必须先获取窗口的CDC.
然后你在TextOut之前先把要覆盖的区域BitBlt到内存DC的合适位置里面,擦除的话可以把内存DC的合适位置的位图BitBlt到屏幕DC中
如果你在static里写字
只要Updatedata(TRUE)
textout( )
UpdateDate(FALSE);