热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

动态创建GroupBox控件时,设置其风格为SS_BLACKFRAME,运行后发现GroupBox覆盖了对话框上原有的Button,怎样处理?

动态创建GroupBox控件时,设置风格为SS_BLACKFRAME,程序运行后发现创建出的GroupBox控件覆盖住了对话框上原有的Button按扭,必须鼠标点击后按扭才会显示出来,请问怎样处理
动态创建GroupBox控件时,设置风格为SS_BLACKFRAME, 程序运行后发现创建出的GroupBox控件覆盖住了对话框上原有的Button按扭, 必须鼠标点击后按扭才会显示出来,请问怎样处理?按扭为先前在对话框上静态添加的.


在OnInitDialog()函数里,创建GroupBox的代码如下:

BOOL CSpeedTool::OnInitDialog() 
{
CDialog::OnInitDialog();
    
CStatic *pCTGopBox=new CStatic;
pCTGopBox->Create(_T("my static"),   WS_CHILD|SS_BLACKRECT|WS_VISIBLE, CRect(10,10,100,100),  this, IDC_STATIC);
    pCTGopBox->MoveWindow(0, 0, 832, 172);  

return TRUE;  
              }

如果将对话框上原有的Button按扭都SetParent(pCTGopBox),是可以显示出对话框上的button按扭来,可是SetParent(pCTGopBox)之后, 会导致DIALOG上的按扭事件不响应, 怎样既能正常显示出BUTTON, 又能使DIALOG其BUTTON事件得到执行, 请各位高手支招!


4 个解决方案

#1


sorry 刚才试验了一下,我告诉你SetParent的方法确实会导致按钮不响应,因为按钮的父窗口变成了pCTGopBox,截获了按钮消息,所以这不是根本解决问题的办法

或者你可以派生一个CStatic,让CYourStatic负责处理按钮消息,然后通知给父窗口

如果你放置pCTGopBox的目的仅仅是为了改变窗口的颜色,那就用OnCtlColor或OnPaint里画好了,这样简便一些

#2


谢谢高手, 请问OnCtlColor怎么用啊,新手,实在不好意思.

#3


//在YourDlg.h里添加一个全局刷子
HBRUSH m_mybrush;

//在CYourDlg构造函数里创建刷子
CYourDlg::YourDlgg(CWnd* pParent /*=NULL*/)
: CDialog(CYourDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CYourDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_mybrush =CreateSolidBrush(RGB(0,0,0));  //创建黑色刷子
}

//在CYourDlg的OnCtlColor里返回刷子
HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here


// TODO: Return a different brush if the default is not desired

if(!pWnd->GetDlgCtrlID())
  return m_mybrush;   //返回自定义的黑色刷子
else
return hbr;
}

#4


谢谢高手!

推荐阅读
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文介绍了Python函数的定义与调用的方法,以及函数的作用,包括增强代码的可读性和重用性。文章详细解释了函数的定义与调用的语法和规则,以及函数的参数和返回值的用法。同时,还介绍了函数返回值的多种情况和多个值的返回方式。通过学习本文,读者可以更好地理解和使用Python函数,提高代码的可读性和重用性。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
author-avatar
mobiledu2502885243
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有