社区
界面
帖子详情
VC里有没有这样的实现?
qybao
2004-04-08 05:48:38
在Delphi或VB等都有这样的事件,就是窗体刚好显示完时触发的事件,一般为form_active事件(不是form_load或form_create),请问vc里如何实现?我现在希望我的对话框刚好显示出来时做一些事情,因为在OnInitDialog()做会出错的,出错的原因很简单,就是窗体还没显示,希望高手指教,谢谢!
...全文
180
9
打赏
收藏
VC里有没有这样的实现?
在Delphi或VB等都有这样的事件,就是窗体刚好显示完时触发的事件,一般为form_active事件(不是form_load或form_create),请问vc里如何实现?我现在希望我的对话框刚好显示出来时做一些事情,因为在OnInitDialog()做会出错的,出错的原因很简单,就是窗体还没显示,希望高手指教,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lsgt
2004-04-09
打赏
举报
回复
??
在OnInitDIalog里面取得子控件的RECT怎么会是无效的?
除非你在OnInitDialog里面的CDialog::OnInitDialog前面去取。
对话框的OnInitDialog必须执行基类的OnInitDialog,而这个基类的OnInitDialog恰好就要初始化所有的子控件。所以基类的OnInitDialog执行之后,所有的子控件都已经初始化完毕了。(除了那些你在之后动态Create出来的),那这时候访问子控件都没问题,因为子控件此时都已经被实例化而且初始化过了。
在OnPaint里面作也可以,只是凭空多用一个变量
在OnSize里头更不行了,OnSize第一次被调用的时候,所有的子控件根本没有创建。不过实在要在这里弄,也可以加上if(IsWindow(GetDlgItem(IDC_BUTTON))然后取值。这个方法我有用过,不过是在需要在OnSize里面调整子控件大小的时候。
checkyvc6
2004-04-09
打赏
举报
回复
我想得到对话框以及所有控件的rect,但如果在OnInitialDialog方法里,取出的结果都是0
this->GetWindowRect(rect);
那时肯定的了
YunLion(静静的想) 的方法虽然说有点别扭,但是我经常用,呵呵,现在还想不出其他的好办法
YunLion
2004-04-08
打赏
举报
回复
要不在OnPaint函数里面做这些看看。
void CMyDlg::OnPaint()
{
static bFirstTime=1;
if(bFirstTime)
{
.....
bFirstTime=0;
}
smallbull
2004-04-08
打赏
举报
回复
用OnInitDialog()应该不会出错,实际上这时候对话框已经显示了,你什么地方搞错了,检查一下。
qybao
2004-04-08
打赏
举报
回复
我想得到对话框以及所有控件的rect,但如果在OnInitialDialog方法里,取出的结果都是0
this->GetWindowRect(rect);
是不是还有什么其他的解决方法?
checkyvc6
2004-04-08
打赏
举报
回复
如果在对话框里面的话,用OnSize可以
zjg751206
2004-04-08
打赏
举报
回复
vc
也有onactive事件啊。你在类向导里看。估计楼主是要操作控件吧??
那么写在OnInitialDialog也可以。但是最好加上一个
if判断。因为句柄常常为空。
比如m_button为按钮的成员变量。那么可以加上
if(m_button)m_button.什么什么的就不会有错了。其实如果你写对了写在
OnInitialDialog是完全可以的。
szclm
2004-04-08
打赏
举报
回复
楼上说得对CDialog::OnInitialDialog()已经是所有控制初始后才运行的啦~
写出错误来看看~
lsgt
2004-04-08
打赏
举报
回复
OnInitDialog里头在CDialog::OnInitialDialog之后对话框已经建立了,所有的子控件也都已经可用,显不显示有什么关系?
VC
9、
VC
11、
VC
14、
VC
15是啥?
本文介绍了Visual Studio(VS)各版本与其内置的C++编译器
VC
的关系,例如VS2008对应
VC
9,VS2017对应
VC
15。在升级WAMP服务器的PHP过程中遇到的问题以及解决方案,并提供了
VC
9到
VC
15的32位和64位百度网盘下载链接。
在
VC
下
实现
串口通讯
本文介绍了如何使用
VC
通过MSComm32控件
实现
串口通讯。包括创建工程、添加控件、配置串口参数及编写发送接收代码等内容。
在
VC
里
如何用Makefile文件编译
本文介绍了如何在Visual C++环境中利用Makefile编译libjpeg动态库。通过修改makefile.
vc
和jmorecfg.h文件,添加编译DLL的规则,并使用nmake工具进行编译。同时,提到了将Makefile转换为.mak文件以便于
VC
打开,以及
vc
-vars32.bat用于设置命令行环境。
VC
皮肤以及XP风格
实现
本文介绍如何在MFC程序中
实现
XP风格界面及
VC
皮肤应用,包括使用XPButton类制作XP风格按钮、内嵌.manifest文件
实现
整体界面风格转换、以及两种
VC
皮肤
实现
方法。
界面
15,975
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章