上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 25 下一页
摘要: SetWindowLong(hwnd,GWL_EXSTYLE,GetWindowLong(hwnd,GWL_EXSTYLE)|WS_EX_LAYERED); SetLayeredWindowAttributes(hwnd,0,(255*70)/150,LWA_ALPHA); 项目图.rar 阅读全文
posted @ 2013-07-21 01:23 fff8965 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/kevinGao/archive/2012/01/29/2336483.html一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个刷新周期内完成,那么 阅读全文
posted @ 2013-07-21 00:57 fff8965 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 响应WM_ERASEBKGND,在OnEraseBkgnd()处返回FALSE,阻止GDI重绘客户区背景色,设置背景色的工作交给Direct2D在Render时设置,否则在Resize时会出现窗口闪烁的问题;出处:http://www.cnblogs.com/wdhust/archive/2010/04/28/1723122.html 阅读全文
posted @ 2013-07-20 03:04 fff8965 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/fancycow/article/details/66760641.SetTimer(HWND,UINT,UINT,TIMERPROC);第一个参数设置为捕获该定时消息的窗口句柄, 第二个参数是定时器的id,第三个是以毫秒为单位的定时长度,最后一个参数设置为NULL,可以使窗口的回调函数进行处理WM_TIMER消息。一般来说,在窗口创建时进行SetTimer调用;在回调函数中添加WM_TIMER的响应。然后再窗口销毁的时候进行计时器的销毁:KillTimer(HWND,UINT);参数分别是窗口句柄和定时器ID。2.SetTimer(HWND,U 阅读全文
posted @ 2013-07-20 00:57 fff8965 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: lamda表达式验证list存在某一项List l = new List();l.add("a");l.add("b");l.add("c");l.add("d");bool r = l.Exists(s => s.Equals("a")); 阅读全文
posted @ 2013-07-18 18:00 fff8965 阅读(429) 评论(2) 推荐(0) 编辑
摘要: http://www.pinvoke.net/封装好的类库vs插件 [DllImport("user32.dll")] public static extern int SetCursorPos(int x, int y);[DllImport("user32.dll", EntryPoint="GetWindowText")]public static extern int GetWindowText (int hwnd,string lpString,int cch); 调用: StringBuilder s = new Stri 阅读全文
posted @ 2013-06-26 13:59 fff8965 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 转自:http://developer.51cto.com/art/200908/143779.htm解决C#结构体数组间的转化问题的由来:在写C#TCP通信程序时,发送数据时,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送结构体,可以按以下方法实现:(1)解决C#结构体数组间的转化之定义结构体://命名空间 usingSystem.Runtime.InteropServices; //注意这个属性不能少 [StructLayoutAttribute( L 阅读全文
posted @ 2013-06-26 01:24 fff8965 阅读(1752) 评论(0) 推荐(0) 编辑
摘要: 有两种方式解决 1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;2.使用Invoke等委托函数。 问题原因是。net2.0以后拒绝多线程访问空间,避免空间造成死锁。以前Control.CheckForIllegalCrossThreadCalls =false;默认就是这样,现在默认为true。如果不会好几个线程同时操作一个控件用方法1就可以。如果存在多个线程一起操作控件使用方法2 方法2可以 Invoke(new MethodInvoker(delegate() ... 阅读全文
posted @ 2013-06-26 01:10 fff8965 阅读(245) 评论(0) 推荐(0) 编辑
摘要: int (* xyDataP)[40];(*xyData)[i*2] 阅读全文
posted @ 2013-06-18 19:04 fff8965 阅读(323) 评论(0) 推荐(0) 编辑
摘要: [DllImport("ScreenCaptureLib.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void Init(); [DllImport("ScreenCaptureLib.dll", CallingConvention = CallingConvention.Cdecl)] public static extern int ScreenCapture(IntPtr img);C#调用应该尽量避免用引用型的数组传递,因为c#... 阅读全文
posted @ 2013-06-17 18:15 fff8965 阅读(4499) 评论(1) 推荐(1) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 25 下一页