try:[DllImport("gdi32.dll", EntryPoint="SetROP2")]
public static extern int SetROP2 (
IntPtr hdc,
int nDrawMode
);
public static extern int SetROP2 (
IntPtr hdc,
int nDrawMode
);
解决方案 »
- 用Shockwave Flash时碰到的问题
- 请问networkstream.write()这个函数支持中文嘛,怎么我中文出不来.
- c#网页中加入的WMP控件无法播放rm格式的视频文件,要如何处理?求救啊!
- 大家来说说VS2005不如意的地方
- 得到管道的长度、内径及高度后,用C#画出该管道,该如何实现呢?急。。。
- 如何在Visual studio 2003生成按钮数组?
- 急!!!求教如何使用C#发邮件,我用system.net.mail不行,谢谢
- 怎样才能让一个dataset获得多个表?
- WebClient类下载文件进度的问题
- 如果有关于DataGrid的问题请与我联系
- 怎样取得程序所在的目录和怎样取得窗口句柄?
- 用.net结合media service开发一套网上vod点播系统,请大家给些建议!!
但我要实现鼠标移动中文本的异或,调用SetROP2后调用TextOut无法得到正确结果,
于是调用CreateCompatibleDC,CreateCompatibleBitmap,实现BitBlt的异或,
结果却不能达到目的,不知各位有没有兴趣帮我试一试?下面是部分源代码if(不是第一次)//使用内存DC再异或一次达到恢复的目的
{
BitBlt(mHdc,0,0,Width,Height,mHMemDc,0,0,0x00660046);
}int hBrush = CreateSolidBrush(0);
unsafe
{
RECT rect = new RECT();
rect.left = 0;
rect.top = 0;
rect.right = Width;
rect.bottom = Height;
FillRect(mHMemDc,(int)&rect,hBrush);
}SetTextColor(mHMemDc,0xFFFF00);
TextOut(mHMemDc,x,y,text,text.Length);BitBlt(mHdc,0,0,Width,Height,mHMemDc,0,0,0x00660046);//新的文本异或