类似flashget的浮动窗口的实现

一、简介:

象flashget、迅雷、BT等都有浮动窗口,能详细地显示下载的详细信息,该类型的窗口有一下几个特点:1、窗口无标题栏,窗口的大小跟位图一样大。2、前端显示。3、在客户区内按下鼠标左键可以随意拖动窗口的位置。4、可以改变窗口的透明度。5、双击可以将主窗口激活,并显示。下面就该类型窗口的各个功能实现予以说明。

二、代码的详细说明:

1、窗口无标题栏,窗口的大小跟位图一样大。建立一个对话框资源,设置为POPUP类型,并取消Title Bar属性。在上面插入一个图片控件,设置为导入的位图。

//得到位图
  CBitmap m_Bitmap;
  HBITMAP hBitmap = m_Logo.GetBitmap();
  ASSERT(hBitmap);
  //得到位图的信息
  m_Bitmap.Attach(hBitmap);
  BITMAP bmp;
  m_Bitmap.GetBitmap(&bmp);
  //得到位图的大小
  int nX = bmp.bmWidth;
  int nY = bmp.bmHeight;
  //根据位图的大小移动窗口
  MoveWindow(0,0,nX,nY);
  m_Logo.MoveWindow(0,0,nX,nY);
  CenterWindow();

2、前端显示。//通过SetWindowsPos函数将窗口前端显示。
  ::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);

3、在客户区内按下鼠标左键可以随意拖动窗口的位置。响应WM_HITTEST函数,当鼠标左键按下并在客户区内,返回HTCAPTION,欺骗Windows,达到跟在标题栏拖动窗口一样的效果。UINT CFloatWnd::OnNcHitTest(CPoint pt)
{
  UINT nHitTest = CDialog::OnNcHitTest(pt);
  if (nHitTest == HTCLIENT && ::GetAsyncKeyState(MK_LBUTTON) < 0) // 如果鼠标左键按下,GetAsyncKeyState函数的返回值小于0
    nHitTest = HTCAPTION;
  return nHitTest;
}

时间: 2024-10-05 22:59:27

类似flashget的浮动窗口的实现的相关文章

类似Portal的浮动窗口,其实也就是类似QQ空间的

div的头部添加"编辑"按钮,可以用Ajax进行设置.可以方便的进行扩展.   <html> <head> <title>_xWin</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <mce:style type='text/css'><!-- body{font-

JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解_javascript技巧

本文实例讲述了JS实现弹出浮动窗口.分享给大家供大家参考.具体如下: 这里介绍的JS弹出浮动窗口,支持鼠标拖动和关闭,点击链接文字后弹出层窗口,也称作是弹出式对话框吧. 关于一些参数说明: bodycontent:要在窗口中显示的内容 title:窗口的标题 removeable:窗口是否能拖动 注意:内容窗体的高度是height-30px,请计算好要显示的内容高度和宽度. 注:在火狐或chrome下效果最佳,IE8下可能有些小问题. 点击此处查看运行效果: http://demo.jb51.n

页面内的超级酷浮动窗口

浮动|浮动窗口|页面 <html><head><title>_xWin</title><style type='text/css'><!--a:visited{text-decoration:none;color:slategray;}a:hover{text-decoration:underline;color:slategray;}a:link{text-decoration:none;color:slategray;}-->&l

界面-android浮动窗口如何覆盖

问题描述 android浮动窗口如何覆盖 现在做的项目有一个功能 播放窗口需要在所有界面都显示,不能有延迟,所以我用到了浮动窗口 但是在界面有些地方又需要让浮动窗口覆盖掉(不能用隐藏,隐藏之后surfaceview会停止播放) 我想问问有什么办法可以控件浮动窗口在哪个控件下面? 或者让他不显示之类的? 没有多少分了,抱歉 解决方案 可以不必覆盖的,隐藏掉即可

jQuery实现弹出带遮罩层的居中浮动窗口效果_jquery

本文实例讲述了jQuery实现弹出带遮罩层的居中浮动窗口效果.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>pop window</title> <style> *{ padding: 0; margin: 0; } .hide{ display: none

jQuery实现底部浮动窗口效果_jquery

本文实例讲述了jQuery实现底部浮动窗口效果.分享给大家供大家参考,具体如下: <script type="text/javascript" src="jquery-1.10.1.min.js"></script> <style type="text/css"> #foot_tel { width:100%;height:43px; background:url(styles/js/swt/tel_bj_20

android-Android 浮动窗口 相对布局中向左或上添View无效

问题描述 Android 浮动窗口 相对布局中向左或上添View无效 android:id="@+id/layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FFFFFF" > android:layout_width="200px" android:l

mfc-MFC单文档浮动窗口并排位于窗口最底端

问题描述 MFC单文档浮动窗口并排位于窗口最底端 求教在MFC单文档中怎么实现让两个浮动窗口并排位于窗口最底端啊,就像下面这样

Android利用浮动窗口提示用户操作_Android

上次我们实现了利用viewpager实现对新用户的功能性介绍,今天我们来显示利用浮动窗口对用户进行操作的引导.先看效果图. 虽然界面比较丑,但是可以看到我们还是可以实现对用户进行比较好的操作提示,下面介绍怎么实现这种效果. 集成环境 这个项目中,我采用的是TourGuide开源项目,可以直接进入github地址进行学习与下载,这里我们只是简单的介绍怎么使用他来实现浮动界面的引导效果.首先是添加引用: 在你的gradle file中添加以下依赖,然后点击sync将依赖添加到自己的项目中就可以直接使