工作中编写MFC界面程序时用到了停靠窗口,为了避免之后用到时再去查询,这里记录下。

步骤

1.定义一个继承自CDockablePane的类

Class CDockableTest : public CDockablePane{}

2.MainFrm.h中声明

CDockableTest m_dockableTest;

3.CMainFrame::OnCreate中创建

EnableAutoHidePanes(CBRS_ALIGN_ANY);//窗口自动停靠

m_dockableTest.Create("Test",this,CRect(,,,),TRUE,ID_DOCKTEST/*自己定义*/,WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|CBRS_LEFT|CBRS_FLOAT_MULTI));

m_dockableTest.EnableDocking(CBRS_ALIGN_ANY);//使可停靠和浮动

DockPane(&m_dockableTest);

问题&解答

Q:停靠窗口隐藏后,鼠标移动到停靠窗口标签上显示停靠窗口,会有残影。

A: ①在CDockableTest类中添加OnCreate和OnSize函数

②CDockableTest::OnCreate中创建控件

CRect rectDummy;

rectDummy.SetRectEmpty();

const DWORD dwViewStyle = WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS_HASBUTTONS|WS_CLIPSIBLINGS|WS_CLIPCHILDREN;

if(!m_pointsInfo.Create(dwViewStyle,rectDummy,this,/*ID*/))

{

TRACE0(MyLoadString(IDS_CREATEPOINTINFOVIEW_ERROR));

return -;

}

③CDockable::OnSize中根据停靠窗口位置调整控件大小

if(GetSafeHwnd() == NULL)

{

return;

}

CRect rectClient;

GetClientRect(rectClient);

m_pointsInfo.SetWindowPos(NULL,rectClient.left+,rectClient.top+,rectClient.Width()-,rectClient.Height()-,SWP_NOACTIVATE|SWP_NOZORDER);

Q:隐藏停靠窗口右键菜单

A:添加WM_CONTEXTMENU消息,不实现其内容即可

afx_msg void OnContextMenu(CWnd* pWnd,CPoint point);

MFC的停靠窗口中插入对话框,在对话框中添加控件并做控件自适应

单文档程序添加了停靠窗口后,可能会在停靠窗口中添加一些控件.在这里我的做法是在对话框上添加控件并布局,然后将这个对话框插入到停靠窗口中. 步骤 1.插入对话框,在对话框中放入控件(我的为树形控件),并 ...

PyQt主窗体设置停靠窗口(QDockWidget)的叠加顺序

PyQt提供了方便的停靠窗口控件,我们可以很方便的编写一个停靠窗口,代码和效果如下: # -*- coding: utf-8 -*-from PyQt4 import QtGui, QtCore cl ...

MFC基础窗口创建,CWinApp、CFrameWnd

1.CWinApp(包括了这个类的导出类):代表了我们的程序.封装了消息循环等. 2.CFrameWnd:代表了程序的框架窗口.封装了窗口的注册.创建.显示.刷新.等等窗口操作. 3.Win32中.一 ...

MFC更换窗口图标

https://blog.csdn.net/deep_kang/article/details/72722692: MFC更换图标,图像默认为MFC,主要步骤有三步. 第一步 找到一张图片(坑点: ...

停靠窗口QDockWidget

停靠窗口QDockWidget要和QMainWindow一起搭配使用的 样式: import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets ...

【转】VC 隐藏模块、MFC 改变窗口类名

[转]VC 隐藏模块 void HideDll() { HMODULE hMod = ::GetModuleHandle("MyHook.dll"); PLIST_ENTRY He ...

MFC修改窗口无标题和标题信息,修改执执行文件图标

一.创建MFC后 窗口显示的是 无标题-工程名 修改方法在网上看到了几种,下面介绍下比较简单的一种: 1.在MianFrame.c文件中找到这个函数 BOOL CMainFrame::PreCreat ...

Qt5布局管理(二)——QDockWidget停靠窗口类

转载:LeeHDsniper 停靠窗口类QDockWidget 实例效果 如右图所示,左半部分MainWindow是该窗口的中心窗口,右边的最下面两个停靠窗口可以跳出该窗口: 但是第一个停靠窗口只能停 ...

【MFC】MFC中窗口重绘

MFC中窗口重绘 摘自:http://blog.csdn.net/shuilan0066/article/details/5859057 在刷新窗口时经常要调用重绘函数 MFC提供了三个函数用于窗口重 ...

随机推荐

CATransition的type属性类型

用字符串表示 pageCurl            向上翻一页      pageUnCurl          向下翻一页      rippleEffect        滴水效果      s ...

LintCode Two Sum

1. 数组numbers == null 及numbers.length == 0, 而不是用numbers[] 2. HashMap而不是

FZU2127

FZU2127:养鸡场 Problem Description Jason买来了n米长的竹篱笆,打算将n米长的竹篱笆所实用来围成一个三角形的养鸡场.为方便起见.养鸡场三条边的长度都为正整数. 同一时候 ...

iOS ASIHTTPRequest用https协议加密请求

iOS 终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略 ...

单列模式(data与business交互)

public class CommentsBusiness //Business { #region 单列模式 private static CommentBusiness instance; pri ...

【html】【3】html标签列表

必看参考: http://www.divcss5.com/html/h323.shtml http://www.w3school.com.cn/tags/tag_html.asp 常用:

Java替代C语言的可能性

前不久CSDN刊登了一篇的文章,引起了一些争论.事实上那篇文章是从Ed Burnette的博客上转载来的,原文题目是“Die, C, die!”,直译过来应该是& ...

Unity3D Object.DontDestroyOnLoad 备忘

初学Untiy3D,记录备忘. public static void DontDestroyOnLoad(Object target); Makes the object target not be ...

HDU [P1533]

二分图带权最小匹配(朴素) 只要换几个不等号的方向就行,不需要变换权值的正负 #include #include #include &l ...

objective-c中线程编程一例

/* print with threads : print every file's first n char contents under the path that pass to this pr ...

c语言mfc窗口跳到下个窗口,MFC停靠窗口实现(CDockablePane)相关推荐

  1. wxpython窗口跳转_WxPython-用按钮打开一个新窗口

    我正在创建一个界面,我需要打开一个新的窗口,点击一个按钮. 所以我创建了主窗口,创建了所有按钮,并在一个类下创建了新窗口.我不完全确定是否需要,但我也会包括这一部分信息.对python来说是新的,如果 ...

  2. 【学习笔记】C++ GUI Qt4 第六章 6.4 滚动区域 和 6.5 停靠窗口和工具栏

    文章目录 6.4 滚动区域 6.5 停靠窗口和工具栏 6.4 滚动区域 QScrollArea类提供了一个可以滚动的视口和两个滚动条.如果想给一个窗口部件添加一个滚动条,则可以使用一一个QScroll ...

  3. Qt模仿VS停靠窗口(一)

    前言 众所周知,停靠窗口可以实现任意拖动效果,本文重点在于如何利用Qt制作与Visual Studio相似的带有停靠方向标及停靠区域预览的的停靠窗口框架. 百度网盘体验地址: 链接:https://p ...

  4. QT:停靠窗口(拥有自动合并分离的功能)

    1-停靠窗口(拥有自动合并分离的功能)                                       2-停靠窗口一般可以和 工具栏一起使用达到更好的联动效果(停靠窗口有方法可以直接返回 ...

  5. python跳转到程序顶部_python-如何使Tkinter窗口跳到最前面?

    python-如何使Tkinter窗口跳到最前面? 如何获得Tkinter应用程序跳转到最前面? 当前,该窗口显示在我所有其他窗口的后面,并且没有获得焦点. 我应该打电话给一些方法吗? nathan ...

  6. MFC中的控件是怎么实现的呢?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠

    请教一下MFC中的控件是怎么实现的呢(通过调用什么样的API,传递什么参数)?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠在主窗口上?还是直接在主窗口上画图? 我想到的是: JavaScr ...

  7. c++mfc编写实验_零基础学Windows窗口图形界面编程(不用MFC),菜鸟学完变身高手,敢与专业媲美...

    又一门新的计算机课上线啦! 什么课?看下面视频(以下视频是本课第一讲) 用什么语言 我们声明一下(这个在我们课上也跟同学强调):不要为用什么语言掐架!那是初学者的行为,为高手所不为. 第二,我们这门课 ...

  8. c语言按键实现跳转程序,C语言中的跳转语句

    <C语言中的跳转语句>由会员分享,可在线阅读,更多相关<C语言中的跳转语句(4页珍藏版)>请在人人文库网上搜索. 1.C语言中的跳转语句c语言有4个跳转语句return.got ...

  9. html语言arc属性,为要素图层设置 HTML 弹出窗口属性

    ArcGIS 中的许多地图图层都可用于访问要素的丰富的属性及其他信息.一种机制是,单击每个要素时显示一个 HTML 弹出窗口.这就潜在地提供了一种有效的方法来共享每个要素的 HTML 格式的信息(例如 ...

最新文章

  1. html 移动端(手机)调试 vconsole
  2. mac地址信息查询站点
  3. 【Python】判断字符串 str 是否为空
  4. 资讯|WebRTC M91 更新
  5. OpenCASCADE:读取和写入 STEP
  6. .net 面试题系列文章五(附答案)
  7. arraylist 初始化_ArrayList实现原理(JDK1.8)
  8. C++ 集成和派生练习题解答
  9. django 1.8 官方文档翻译: 2-5-1 管理器 (初稿)
  10. python数据挖掘课程】十七.社交网络Networkx库分析人物关系(初识篇)
  11. layDate——初步使用
  12. 基于java的音乐网站的设计与实现
  13. 开心消消乐分析与设计
  14. USB协议-UVC描述符篇(三)
  15. 60分钟带你入门iOS开发
  16. java面试题笔试常见选择题大全含答案
  17. python设置excel单元格数据类型为文本_Python xlwt设置excel单元格字体及格式
  18. 证券公司信息化7-资产管理业务的沿革。为什么要有资产管理系统?
  19. 爬虫实战——爬取电影天堂的电影详情页信息
  20. Win11查找我的设备功能的方法

热门文章

  1. 《了不起的Markdown》第六章
  2. Web开发——文字样式
  3. linux脚本批量加注释,shell中如何批量注释和取消注释
  4. ART工业级虚拟仿真光学位置定位系统配置详解
  5. No module named 'woff2otf'
  6. 计算机说唱卖苹果是谁,官宣!上来就是十四人炸裂Cypher!三位新成员加盟MDSK!...
  7. 利用开源工具实现轻量级上网行为审计 来源ispublic com
  8. a-select下拉展示中英文,选择回填中文
  9. 基于ArkUI开发框架,图片马赛克处理的实现
  10. 卡在正在连接服务器,地下城与勇士DNF比赛服登陆时卡在“正在连接服务器”的黑屏界面中的解决方法...