mfc-怎么获取指定View的CDC

问题描述

怎么获取指定View的CDC

我有两个view(View1和View2),我想在View2里的按钮点击事件中调用View1的OnDraw,可是这个OnDraw需要一个CDC的输入参数。怎么获取这个CDC?我随便Get一个倒是可以调用,但是在View1的OnDraw中获取CRect就中断,怎么回事?上代码
view2中:

 void View2::OnBnClickedButton4()
{
    View1 center;
    CDC *m_pDC;
    m_pDC=GetDC();
    center.OnDraw(m_pDC);
}

View1中:

 void ViewCenter::OnDraw(CDC* pDC)
{
    CRect       rectClient;
    GetClientRect(rectClient);
    TRACE("onDrawn");
}

如果去掉CRect这事,点击几下就输出几条“OnDraw”,正常,但是一加上Rect就中断。我因为要在View2中点击重绘View1,所以还必须解决这个问题。

解决方案

ViewCenter就是View1

解决方案二:

不要直接调用View类的OnDraw函数,可以调用InvalidateRect/Invalidate()来刷新。

时间: 2024-09-17 16:25:28

mfc-怎么获取指定View的CDC的相关文章

遍历元素-MFC 遍历网页获取指定CLASS内容里面的值

问题描述 MFC 遍历网页获取指定CLASS内容里面的值 单纯看网页源码看不出来所要元素 如下:我是通过火狐看到的 <a title="2345pack3_k46246958_120065803_v3.1" class="nomal_to_content" target="_blank" onclick="netdisk_pvManually('/func/waterfall_picname')" href="

c++-MFC如何获取像任务管理器一样的数据

问题描述 MFC如何获取像任务管理器一样的数据 按照网络上面的一些资源,我已经可以获得了进程的pid和进程名称,不过进程名称是英文的, 然后获取文件路径的时候也只能获得部分文件的路径,,就如图所示, 但是我想获得,,这样的信息,并且可以根据一些关键字(比如腾讯QQ)来强制关闭一些进程. 有没有高手可以来帮帮忙,如果回答的好可以追加 解决方案 Advanced Task Manager in MFC 完全模拟,功能更多,源码也有. 解决方案二: 1.管理员权限 2.添加一个64位兼容程序,64位进

IOS获取指定年月的当月天数_IOS

前言 在开发IOS中常常需要用到这一功能,在限定一个月的时间间隔为第一天和最后一天,需要知道这个月有多少天,才能知道最后一天是多少号,而且还要知道是否是闰年,可能2月只有28天. 话不多说,附上代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSLog(@"%ld",(long)[self how

Android中使用ScrollView指定view的顶部悬停效果

因项目中的需要实现ScrollView顶部的悬停,也不是太难便自己实现功能,话不多说,先上效果图 红色text一到顶上便会悬浮在上面,不会跟随scrollview的滑动而上滑. 原理: 原理其实很简单就是对view的gone和visible,写两个相同的要置顶的view,一个设置为gone,一个为visible,当可见的view超出屏幕范围的时候,将不可以的view设置为visible,不可见的view 与scrollview要同级,这样滑动的时候不会影响到view的位置. 直接上代码 <?xm

php中获取指定IP的物理地址的代码(正则表达式)

自己搭建IP数据库占资源,而且更新不便,何不使用现成的IP查询呢?下面自己写了个获取IP物理地址的PHP代码(有一定的瑕疵,请高手不吝赐教) 复制代码 代码如下: <!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8" /> <meta name="author" con

获取指定IP的终端的MAC地址

    因为业务需要,需要给公司部分终端进行登记,以保证授权终端能够登录业务系统,最好的方法就是记录下每台终端的MAC地址来进行验证是否有授权.     下面是采用调用API的方式获取指定IP的终端的MAC地址:   [DllImport("Iphlpapi.dll")]  public static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);  //dest为目标机器的IP;

Delphi中获取指定年月的周、日数

WeeksInAYear.WeeksInYear.DaysInAYear.DaysInAMonth.DaysInYear.DaysInMonth - 获取指定年月的周.日数 DateUtils.DaysInYear(); DateUtils.DaysInMonth(); DateUtils.DaysInAYear(); DateUtils.DaysInAMonth(); DateUtils.WeeksInYear(); DateUtils.WeeksInAYear(); unit Unit1;

C# 如何获取指定目录包含的文件和子目录

 如何获取指定目录包含的文件和子目录 1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找: 2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找: 3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInf

如何使用PHP获取指定日期所在月的开始日期与结束日期

以下是对PHP获取指定日期所在月的开始日期与结束日期的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下   复制代码 代码如下:    /**      * 获取指定日期所在月的开始日期与结束日期      * @param string $date      * @param boolean 为true返回开始日期,否则返回结束日期      * @return array      * @access private      */     private function getMo