SDI多视图结构中视图间获取指针

VC++ 6.0中实现三叉切分窗口与多视图实现  当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。   一、引用  当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方 阅读详情

可以在从CView类派生出的CMyView1  ,CMyView2添加成员函数

/*------------------------------------------------------------------------------
*    函数名:    GetView
*    功能:    获取视图指针
*    BY:    Kevin
*    输入参数:    要指向视图的指针 CRuntimeClass*pClass
*    返回参数:    CView*
*    备注:    2010-03-24
*    修改:   
*----------------------------------------------------------------------------*/

CView* CMyView1 ::GetView(CRuntimeClass*pClass)

{
    CMyDoc* pDoc=(CMyDoc*)GetDocument();
    CView* pView;
    POSITION pos=pDoc->GetFirstViewPosition();
    while(pos!=NULL)
    {
        pView=pDoc->GetNextView(pos);
        if( pView->IsKindOf(pClass) )
        {   
            break;
        }
    }
    if(!pView->IsKindOf(pClass))
    {
        AfxMessageBox(_T("Cannot locate the View."));
        return NULL;
    }
    return pView;
}

在调用时 只要这样

CMyView2*pTestBView=
(CMyView2*)GetView(RUNTIME_CLASS(CMyView2));

MFC单文档多视图切分窗口应用实战实例 对于极致外观控制,可启用自定义绘制模式(Owner Draw),但这要求重写DrawItem并继承CListCtrl。由于较为复杂,建议仅在必要时采用。在此基础上可实现渐变背景、进度条嵌入、复选框美化等高级效果。综上所述,CListCtrl不仅是一个简单的数据显示容器,更是连接数据层与交互层的关键枢纽。掌握其完整使用范式,是构建专业级MFC应用不可或缺的能力。在典型的 SDI 应用中,通常需要支持至少两种以上的视图模式。 阅读详情

相关推荐

FramelessHelper:基于Qt的无框架窗口类,完整功能

无框助手 基于Qt的无框架窗口类,功能齐全。 需求:Qt 5.9.6 +

一步步打造无frame的Qt自定义界面

一步步打造无frame的Qt自定义界面

小猿一枚的专栏 9903

qt无标题栏无边框组件

它能拖动改变窗体大小完美实现

设置QWidget可移动可改变大小可取消菜单栏的公共程序

一、NcFramelessHelper.h //Version 3.0.0 #ifndef NC_FRAMELESS_HELPER_H #define NC_FRAMELESS_HELPER_H #include <QObject> class NcFramelessHelperImpl; class NcFramelessHelper : public QObject { public: explicit NcFramelessHelper( QObject* parent =

qq_33588386的博客 981

qt 无边框无标题栏可拖动窗口的实现

用qt 实现自制无边框无标题栏的可拖动窗口。有例子有代码完全不需要改动你原来的代码。

Qt 自定义界面(窗体缩放-跨平台终极版) 无边框 frameless helper widget

使用 installfilter 截获窗口事件来缩放和移动窗口, 不需要派生, 适合任何从QWidget 派生而来的窗口。 http://blog.youkuaiyun.com/liang19890820/article/details/50557240 修改自 一去丶二三里 整理的代码。

Qt优秀开源项目之七:Qt实现无边框窗口FramelessWindow

推荐公司同事ericzh开源的FramelessHelper,github地址:https://github.com/qtdevs/FramelessHelper 如图所示,FramelessHelper实现了Windows系统上的Qt Quick和Qt Widgets无窗口,欢迎Fork、Star和Issue。

草上爬的博客 8944

QWidget无标题窗口,可随意缩放拖动

实现自定义无标题窗口拖动,鼠标移动到上下左右周围8个位置改变鼠标形状,能自由缩放窗体,无bug

如何在MFC的SDI程序中实现多视图

原文出处:http://blog.youkuaiyun.com/b2b160/article/details/4319883     我们都知道MFC里的SDI程序实现了Frame-Doc-View结构,在这种模型中,实现了一个文档对应一个VIEW,而MDI则实现了多文档多视图模型。 但很多时候我们的程序不需要多文档,但希望能处理多个VIEW,这时候可能会有人想到拆分窗口SplitterWnd,拆分窗口

Try Try Again 3166

clumsy一款模拟弱网的工具

利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果。

klb5555的专栏 2551

ADS 2024实战:手把手教你搞定2.3-3.5GHz宽带Doherty功放仿真与版图(附源文件)

本文详细解析了在ADS 2024环境中实现2.3-3.5GHz宽带Doherty功放的全流程设计,包括仿真与版图实现。从软件环境搭建、器件模型导入到核心电路设计、匹配网络优化,再到系统集成与版图生成,提供了实战技巧和关键参数设置。特别针对5G通信和卫星应用中的高效率需求,展示了如何通过ADS 2024的新功能提升设计效率。

weixin_42639246的博客 461

MFC SDI获取视图指针

上周查了好久SDI 单文档多视图方面的资料,怎么获取指定视图指针让我相当苦恼,最后终于找到了方法; 在MainFrm.h里面添加一个方法: CView* GetView(CRuntimeClass *pClass); 在MainFrm.cpp 实现: CView* CMainFrame::GetView(CRuntimeClass *pClass) { POSITION POS; POS = AfxGetApp()->GetFirstDocTemplatePosition();

gyq8756189的专栏 296

Deep Reinforcement Learning - 1. DDPG原理和算法

Deep Reinforcement Learning - 1. DDPG原理和算法 背景描述 DDPG的定义和应用场景 DDPG算法相关基本概念定义 DDPG实现框架和算法 DDPG对于DPG的关键改进 下一篇 以下用RL作为Reinforcement Learning 的简称。背景描述概括来说,RL要解决的问

kenneth_yu的博客 14万+

使用CTabView实现多视图(一体多面)

一般书中介绍的是使用CSplitterWnd来拆分窗口实现多视图,CSplitterWnd中的CreateClient可以保存其创建的pCreateContext指针,以便子视图共享Document。这我用一篇文章详细说明。CTabView建立多视图的好处在于简单的标签切换,可以让每个View的窗口都很大。下面说说如何操作: 在建立项目时,程序向导最后一步并未提供让View为CTabView

zhuimengshizhe87的专栏 2098

【STC8G1K08A串口使用】

STC8G1K08A串口打印“Hello world”

m0_47459564的博客 1万+

InvocationException: GraphViz‘s executables not found【BUG已解决】

在机器学习框架中遇到了一个bug:安装了GraphViz模块后,在对着sklearn的决策树文档操作输出决策树模型结果时,还是爆出了如下的错误: 报错位置为: 报错语句为:网上很多答案告诉我们,要我们安装GraphViz模块,然而并不对! 如下,我安装了GraphViz,但是还是报错了。 所以说问题不在这,我查阅质料发现,改正这个bug的方法有一个:下文详细描述。解决bug为: 1.去graphviz.官方下载自己电脑符合的操作系统的安装包:2,安装的时候,记住自己安装在电脑里的位置:以我的电脑为例,我的

一键难忘的博客 3968

SDI多视图切换的方法

<br />新建SDI工程<br />在插入菜单增加多两个CView类,进入这两个类的.h文件,把构造函数和析构函数都放到Public区<br /><br />在APP的类.h文件中,增加下面几个public成员<br />CView* m_pOldView;<br />CView* m_pNewView;   //在多少个视图就要加多少个这样的指针<br />CView* m_pNewView3;  //这是第三个视图的指针<br /><br />CView* SwitchView( );       /

逆风飞扬 1407

大数据分析案例-基于决策树算法构建信用卡违约预测模型

本项目旨在使用机器学习等算法构建信用卡违约预测模型,主要应用在金融相关领域,根据用户以往的行为数据来预测是否会违约,有利于商业银行防范和化解信用卡风险,完善信用卡违约风险管理工作。本次实验通过探索性分析以及使用决策树构建信用卡违约模型,得出以下结论:1.可透支金额主要集中在0~200000之间。2.性别对于可透支金额的影响较小。3.受教育程度和婚姻状况对可透支金额的影响较大。4.决策树模型的准确率为0.88,模型效果还有待提高。

m0_64336780的博客 7574

单文档切分窗口实现多视图

当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。   一、引用   当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中

leillon的专栏 979

华为OD机试真题 新系统【进制转换后自定义排序】

华为OD机试 新系统真题【进制转换后自定义排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【进制转换后自定义排序】多语言题解。

qq_45776114的博客 594

boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。 2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。 3、主要接口: 4、实现一个生产者---消费者模式示例: #inc...

小米的修行之路 791

视图分割与视图间通信资料汇总!

一、引用  当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。   切分窗口分为动态切分窗口和静态切分窗口,它们都是由CsplitterWnd类(MFC类库)来实现的,在这两种表示方式中,创建同一视图类的对象是比较容易的(Cview),而在同一应用程序使用...

weixin_30412577的博客 131

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VC++ 6.0中实现三叉切分窗口与多视图

一、引用  当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。  切分窗口分为动态切分窗口和静态切分窗口,它们都是由CsplitterWnd类(MFC类库)来实现的,在这两种表示方式中,创建同一视图类的对象是比较容易的(Cview),而在同一应用程序使用两个

aimar266的专栏 1226

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【交互】MFC架构分析之多文档多视图1

一、基本补充        1、 POSITION 指向的是一个数据块的地址,指向CNode。相关的有GetHeadPostion、GetFirstViewPosition()等。 CView* pView; POSITION pos=GetFirstViewPosition(); pView=(CView*)GetNextView(pos);//里面

此博客不更新很多年了,博客作废............ 2894

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: SDI中任意切分窗口
下一篇: vs.net中使用mscomm控件是弹出需要设计时授权的解决办法
洗洗睡去
博客等级 码龄19年 277粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值