现在位置: 首页 > UI界面
2012-08-23 23:10 工业·编程 ⁄ 共 1128字 评论 1 条
将窗体置顶的方法有: //将窗体置顶的API函数 ::SetWindowPos(m_hWndTop,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); //MFC pDlg->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); 说明: &CWnd::wndTopMost 是当前的最顶层窗口,调用函数,会把m_hWndTop或pDlg 置于&CWnd::wndTopMost上面自然就变成了最顶层 &CWnd::wndTopMost 是个静态成员变量 不知是本主程序的还...
阅读全文
前面写过一个最简单的MFC的窗口例子。这里简单的改一下,重载CFrameWnd::PreCreateWindow()方法,实现窗口初始时的位置和大小: class CHelloWindow : public CFrameWnd { public:     CHelloWindow()     {         Create(NULL,"Hello World!",WS_OVERLAPPEDWINDOW,rectDefault);     }     ...
阅读全文
    也许我们都碰到过这种情况,当你想重画某个窗口的时候,或你需要每隔一段时间要进行重画窗口,窗口会不停的闪烁。那么如何消除闪烁呢?借鉴了别人的经验,自己也总结一下,现将总结的几种方法介绍一下,供大家参考。 1、将Invalidate()替换为InvalidateRect()。 因为Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所需时间会少一些。所以替换之后...
阅读全文
2012-08-21 06:22 工业·编程 ⁄ 共 6829字 暂无评论
    类似360消息弹出框,见实现方式一。本文采用另外的API实现渐入渐出效果。主要API:SetLayeredWindowAttributes。 实现功能: 采用管理器控制消息框每次只显示一个。 消息框独立显示在右下角,不随主窗口放大缩小变化。 鼠标进入消息框区域,渐入渐出效果停止。 1、消息框实现 创建对话框类CMsgTipDlg,设置对话框属性。 Tool Window:true。设置对话框为消息框,任务栏上将没有图标。 Topmost:true。设置对话...
阅读全文
类似QQ与360软件,消息提示有两种。上下浮动、渐入渐出。 1、上下浮动提示框实现 机制,定时器响应上下浮动消息。 主要API:MoveWindow。 源码如下UpDownTipDlg.h、UpDownTipDlg.cpp。 UpDownTipDlg.h /* *@brief 上下浮动提示框 *@date 2012-8-9 */ #pragma once // CUpDownTipDlg dialog class CUpDownTipDlg : public CDialog {     DECLARE_DYNAMIC(CUpDownTipDlg) public:  ...
阅读全文
2012-08-21 06:13 工业·编程 ⁄ 共 2137字 暂无评论
背景需求: 1、MFC对话框最小化时,只显示系统右下角托盘图标。 2、双击托盘,对话框还原。 3、右键点击托盘,弹出“关闭”菜单,可关闭对话框。 实现步骤: 1、创建MFC对话框程序(本例程序名为TaskbarIcon),属性中设置“MinimizeBox”为true。 2、定义自定义消息宏。 #define NOTIFY_SHOW WM_USER+2500 3、OnSysCommand(系统消息响应函数)添加对话框最小化执行代码。 void CTaskbarIconDlg::OnSysCommand(UINT nID, LPARAM lP...
阅读全文
2012-08-21 05:31 工业·编程 ⁄ 共 9552字 暂无评论
    在网上搜索很多关于拖动ClistCtrl中一项的文章,找到了一些,但却编译不了。有个例子不错,但总觉得不合适我的程序,于是自己下决心做一个,过程倒还挺顺利。现在拿出来和大家分享,希望对大家有所帮助。阿弥陀佛!^_^ 一、先上个图片个给大家看一下效果吧。 二、源代码下载 DragListCtrl_VC6.zip (VC6下编译通过,支持unicode) 三、几点说明 1.本例子只能在CListCtrl的报告样式中应用,其它样式的不行。 ...
阅读全文
现在计算机就像买白菜一样,规格各异。有时候需要检测电脑的屏幕大小,以适应软件的需求。现总结如下,欢迎大家添加,一是增张我的见识,二是方便大家查询。   1.使用GetSystemMetrics()函数:如: int   cx   =   GetSystemMetrics(SM_CXFULLSCREEN); //得到宽度 int   cy   =   GetSystemMetrics(SM_CYFULLSCREEN); //得到高度 注意SM_CXSCREEN...
阅读全文
2012-08-20 06:34 工业·编程 ⁄ 共 722字 暂无评论
在很多的时候,希望自己的软件在整个窗口运行,以利用资源和显示清楚,方便用户。先将软件全屏显示的方法总结如下: 1. 最简单的方式:ShowWindow(m_hWnd, SW_SHOWMAXIMIZEDE); 2. 发送消息法:PostMessage(hWnd,WM_SYSCOMMAND,SC_MAXIMIZE,0); 3. 在PreCreateWindow(CREATESTRUCT& cs)函数中添加:      {          //...    &...
阅读全文
2012-08-20 06:30 工业·编程 ⁄ 共 2178字 暂无评论
    要实现窗口(如菜单、按钮、主背景等)背景颜色的多样化,有很多种实现方法,其中颜色渐变就是一种比较常见的方法。它简单实用,即改变了窗口背景颜色的单调,又实现简单。主要方法有很多种,各有各的算法和特点。我在此给大家介绍3种比较简单的方法,且是2种颜色之间的渐变。 1.自绘法:首先获取两种颜色的R、G、B分量的差值,然后获取显示区域的距离,用R、G、B值除以区域的距离获得每一个像素点R、G、B...
阅读全文