网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
实现窗体自动隐藏
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
e = ALIGN_NONE;
    pRect->bottom += NEAR_SIZE;
    pRect->top = NEAR_SIZE;
   }
   else
   {
    pRect->bottom -= pRect->top;
    pRect->top = 0;
    if (pRect->left < NEAR_SIZE) //在上部停靠时,我们也考虑左右边角。
    {
     pRect->right -= pRect->left;
     pRect->left = 0;
    }
    else if (pRect->right + NEAR_SIZE > ScreenX)
    {
     pRect->left += (ScreenX - pRect->right);
     pRect->right = ScreenX;
    }
   }

  }
  if (alignType == ALIGN_LEFT)
  {
   if (pt.x - pRect->right > 0) //鼠标可以在整个标题条来回移动,所以我们不能简单用左边界和鼠标的距离来解除停靠,这里我们在鼠标离开右边界时解除停靠。
   {
    alignType = ALIGN_NONE;
    pRect->right += NEAR_SIZE;
    pRect->left = NEAR_SIZE;
   }
   else
   {
    pRect->right -= pRect->left;
    pRect->left = 0;
    if (pRect->top < NEAR_SIZE) //考虑左上角。
    {
     pRect->bottom -= pRect->top;
     pRect->top = 0;
    }
   }
  }
  else if (alignType == ALIGN_RIGHT)
  {
   if (pt.x < pRect->left) //当鼠标离开左边界时,解除停靠。
   {
    alignType = ALIGN_NONE;
    pRect->left -= NEAR_SIZE;
    pRect->right -= NEAR_SIZE;
   }
   else
   {
    pRect->left += (ScreenX - pRect->right);
    pRect->right = ScreenX;
    if (pRect->top < NEAR_SIZE) //考虑右上角。
    {
     pRect->bottom -= pRect->top;
     pRect->top = 0;
    }
   }
  }
}
}
/*
在窗体初始化是设定窗体状态,如果可以停靠,便停靠在边缘
我本想寻求其他方法来解决初始化,而不是为它专一寻求一个函数,可是,窗体初始化时不发送WM_MOVING消息,我不得不重复类似任务.
*/
void            NearSide(HWND hWnd)
{
int             change = 0;
RECT            rect;
GetWindowRect(hWnd, &rect);
alignType = ALIGN_NONE;
if (rect.left < NEAR_SIZE)
{
  alignType = ALIGN_LEFT;
  if ((rect.left

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号