C# winform鼠标移动到窗口给窗口加边框并获得句柄
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform鼠标移动到窗口给窗口加边框并获得句柄相关的知识,希望对你有一定的参考价值。
我想要一个功能,窗体上有一个图片。鼠标左键按下拖动这个图片的时候。鼠标样式变成该图片的样式,鼠标划过的窗口都会像QQ截图那样加上一个边框。移出这个窗口的时候边框取消。在某个窗口上面松开鼠标左键后获取这个窗口的句柄。
如果有会给鼠标经过的窗口加框的也行
SPY++的C#源代码:
http://download.csdn.net/detail/xtfnpgy/5862401 参考技术A 使用
WindowFromPoint
及
ChildWindowFromPointEx
来获取。追问
获取句柄我会。但是怎么加边框呢
追答使用GetWindowDC来获取所操作窗口的DC,然后使用这个DC绘图。
C#在winform上画一张大于全屏的图片(至少3000*3000像素)。在窗口最大化下用鼠标拖动图片,必须画面流畅。
使用PictureBox的滚动条的方案(包括DX)就不要说了。
我现在已经不知道C#能不能实现上面的要求了,现在的关键麻烦在于移动图片时,都能看到绘制的过程(就像波浪一样),不流畅啊!(双缓冲不顶用)。
哪位高手有能实现上面要求的代码不(最好是能看到效果的)?
如果你没C#的代码,给我C++(我刚学,自己写还不熟练,看得话完全没问题)的也行。
再次声明一下,不一定只用鼠标拖的哈,我主要是想要在全屏下实现移动图片时必须流畅这个效果的代码。(图片,全屏,移动,流畅)
哪怕你没代码,知道哪有用C#的写的能实现这个效果的程序也行,告诉我,我去下来看看。
这显然通过简单Winform编程不可行,因为Winform底层是GDI,不可能有多高的图形效率。
你的要求只能通过DirectX或者OpenGL解决。这样的话具体代码就不好写了,目前只能说这些。 参考技术A 用WPF能够解决这个问题,应该会吧,和Winform差别不大,关键是图形的处理比较好,别说图片了,3D的界面都很流畅的 参考技术B DirectX 你可以试试用WPF建一个程序来实现,基于DirectX的,效果罡罡的,我也初学,如果有误,别见笑。
以上是关于C# winform鼠标移动到窗口给窗口加边框并获得句柄的主要内容,如果未能解决你的问题,请参考以下文章
C# winform怎么样把窗口设置成两边和下面无边框,求沟通。。。