C#实现仿QQ消息窗口
2009-06-04 16:50
375 查看
右下角渐变的弹出一个提示框出来,有点类似于QQ或MSN那消息提示功能.
下面是主要的代码:(主要是调用了系统的API函数实现渐变效果)。其实就是调用了这个函数产生了渐变效果,从下往上显示
[DllImport("user32")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
const int AW_HOR_POSITIVE = 0x0001;
const int AW_HOR_NEGATIVE = 0x0002;
const int AW_VER_POSITIVE = 0x0004;
const int AW_VER_NEGATIVE = 0x0008;
const int AW_CENTER = 0x0010;
const int AW_HIDE = 0x10000;
const int AW_ACTIVATE = 0x20000;
const int AW_SLIDE = 0x40000;
const int AW_BLEND = 0x80000;
调用代码就省略了哈。
下面是这个API函数的相关说明(参考网络其他资源)
//添加引用
using System.Runtime.InteropServices;
//声明API
[DllImport("user32")]
private static extern bool AnimateWindow(IntPtr hwnd,int dwTime, int dwFlags);
const int AW_HOR_POSITIVE = 0x0001;
const int AW_HOR_NEGATIVE = 0x0002;
const int AW_VER_POSITIVE = 0x0004;
const int AW_VER_NEGATIVE = 0x0008;
const int AW_CENTER = 0x0010;
const int AW_HIDE = 0x10000;
const int AW_ACTIVATE = 0x20000;
const int AW_SLIDE = 0x40000;
const int AW_BLEND = 0x80000;
//窗体加载时的动画效果API
AnimateWindow(this.Handle,1000, AW_VER_NEGATIVE |AW_ACTIVATE);//从下到上且不占其它程序焦点
/*下面是AnimateWindow的具体说明
AnimateWindow API
函数AnimateWindow.
尽管MSDN页面上说这个函数是Win2000的最新函数,但经网友证实在Win98里就已经有这个函数了:
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Long
其中:
hwnd只对Form有效,其他像Picture1都无法产生效果。
dwTime是动画持续的时间,默认为200。
dwFlags可取以下值:
AW_HOR_POSITIVE ( &H1 ) '从左到右打开窗口
AW_HOR_NEGATIVE ( &H2 ) '从右到左打开窗口
AW_VER_POSITIVE ( &H4 ) '从上到下打开窗口
AW_VER_NEGATIVE ( &H8 ) '从下到上打开窗口
AW_CENTER ( &H10 ) '看不出任何效果
AW_HIDE (&H10000) '在窗体卸载时若想使用本函数就得加上此常量
AW_ACTIVATE (&H20000) '在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量
AW_SLIDE (&H40000) '看不出任何效果
AW_BLEND (&H80000) '淡入淡出效果
将页面固定在右下角:
public Form2()
{
InitializeComponent();
int x = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - this.Width;
int y = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - this.Height;
this.SetDesktopLocation(x, y);
}
ok,这样就可以了,试试看!
补充下例子的下载地址:http://download.csdn.net/source/3286786
下面是主要的代码:(主要是调用了系统的API函数实现渐变效果)。其实就是调用了这个函数产生了渐变效果,从下往上显示
[DllImport("user32")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
const int AW_HOR_POSITIVE = 0x0001;
const int AW_HOR_NEGATIVE = 0x0002;
const int AW_VER_POSITIVE = 0x0004;
const int AW_VER_NEGATIVE = 0x0008;
const int AW_CENTER = 0x0010;
const int AW_HIDE = 0x10000;
const int AW_ACTIVATE = 0x20000;
const int AW_SLIDE = 0x40000;
const int AW_BLEND = 0x80000;
调用代码就省略了哈。
下面是这个API函数的相关说明(参考网络其他资源)
//添加引用
using System.Runtime.InteropServices;
//声明API
[DllImport("user32")]
private static extern bool AnimateWindow(IntPtr hwnd,int dwTime, int dwFlags);
const int AW_HOR_POSITIVE = 0x0001;
const int AW_HOR_NEGATIVE = 0x0002;
const int AW_VER_POSITIVE = 0x0004;
const int AW_VER_NEGATIVE = 0x0008;
const int AW_CENTER = 0x0010;
const int AW_HIDE = 0x10000;
const int AW_ACTIVATE = 0x20000;
const int AW_SLIDE = 0x40000;
const int AW_BLEND = 0x80000;
//窗体加载时的动画效果API
AnimateWindow(this.Handle,1000, AW_VER_NEGATIVE |AW_ACTIVATE);//从下到上且不占其它程序焦点
/*下面是AnimateWindow的具体说明
AnimateWindow API
函数AnimateWindow.
尽管MSDN页面上说这个函数是Win2000的最新函数,但经网友证实在Win98里就已经有这个函数了:
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Long
其中:
hwnd只对Form有效,其他像Picture1都无法产生效果。
dwTime是动画持续的时间,默认为200。
dwFlags可取以下值:
AW_HOR_POSITIVE ( &H1 ) '从左到右打开窗口
AW_HOR_NEGATIVE ( &H2 ) '从右到左打开窗口
AW_VER_POSITIVE ( &H4 ) '从上到下打开窗口
AW_VER_NEGATIVE ( &H8 ) '从下到上打开窗口
AW_CENTER ( &H10 ) '看不出任何效果
AW_HIDE (&H10000) '在窗体卸载时若想使用本函数就得加上此常量
AW_ACTIVATE (&H20000) '在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量
AW_SLIDE (&H40000) '看不出任何效果
AW_BLEND (&H80000) '淡入淡出效果
将页面固定在右下角:
public Form2()
{
InitializeComponent();
int x = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - this.Width;
int y = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - this.Height;
this.SetDesktopLocation(x, y);
}
ok,这样就可以了,试试看!
补充下例子的下载地址:http://download.csdn.net/source/3286786
相关文章推荐
- 仿QQ、MSN消息提示窗口的实现(C#)
- QQ收到消息窗口闪烁效果实现[C#]
- C#实现相似QQ的隐藏浮动窗口、消息闪动
- MFC实现类似qq的在屏幕右下角动画显示消息窗口 .
- MFC实现类似qq的在屏幕右下角动画显示消息窗口
- C#实现自动发送QQ消息
- Java Swing实现的仿QQ气泡消息聊天窗口效果
- C#实现QQ助手(登录QQ,发消息,查任意QQ资料)附源码下载
- C#类似QQ的弹出消息窗口
- 利用C#实现标注式消息提示窗口
- C#实现类似QQ的任务栏通知窗口
- 利用C#实现标注式消息提示窗口
- C# 模仿QQ、MSN消息提示系列 三、实现多个提示效果
- C#实现QQ助手(登录QQ,发消息,查任意QQ资料)附源码下载
- C#仿QQ皮肤-Windows消息提示框窗体MessageBoxForm的实现
- winforms实现类似QQ消息框一样的右下角消息提示窗口
- C#实现仿QQ窗口靠边自动隐藏
- C# 实现IAccessible学习(四)读取QQ聊天窗口记录
- 利用C#实现标注式消息提示窗口
- 利用C#实现标注式消息提示窗口