| 
			 
					阅读:3202回复:1
				 
				为什么不调用DrvTextOut?
					按照msplot例子写的一个驱动,死活不调用DrvTextOut,不知道为什么! 
							这是Surface创建的代码,各位大虾看看有什么问题: if( !(pPDev->hDevSurface = EngCreateDeviceSurface( (DHSURF)dhpdev, pPDev->szPaper, BMF_24BPP ) ) ) { return(NULL); } //如果没有相应的DDI函数,这个函数将调用失败 if( !EngAssociateSurface( pPDev->hDevSurface, (HDEV)pPDev->hDevDevice, HOOK_BITBLT | HOOK_STRETCHBLT | HOOK_COPYBITS | HOOK_STROKEPATH | HOOK_FILLPATH | HOOK_STROKEANDFILLPATH | HOOK_PAINT | HOOK_TEXTOUT | HOOK_LINETO ) ) GDIInfo: pGDIInfo->flTextCaps = 0; DEVInfo: pDevInfo->flGraphicsCaps = 0; pDevInfo->flGraphicsCaps |= GCAPS_ALTERNATEFILL; pDevInfo->flGraphicsCaps |= GCAPS_HORIZSTRIKE; pDevInfo->flGraphicsCaps |= GCAPS_VERTSTRIKE; pDevInfo->flGraphicsCaps |= GCAPS_VECTORFONT; pDevInfo->flGraphicsCaps |= GCAPS_HALFTONE; pDevInfo->flGraphicsCaps |= GCAPS_OPAQUERECT; pDevInfo->flGraphicsCaps |= GCAPS_BEZIERS; pDevInfo->flGraphicsCaps |= GCAPS_WINDINGFILL;  | 
	|
					
						最新喜欢: | 
	
| 
			 沙发# 
								发布于:2007-08-08 14:14				
			
					问题已经解决。 
							主要是看错了,用VS2005调试的时候断点会跑到其他函数,例如:AlphaBlend参数和DrvTextOut个数一样。如果实现代码都是空的话,可能断点会乱。  | 
	|