社区
界面
帖子详情
VC里有没有这样的实现?
qybao
2004-04-08 05:48:38
在Delphi或VB等都有这样的事件,就是窗体刚好显示完时触发的事件,一般为form_active事件(不是form_load或form_create),请问vc里如何实现?我现在希望我的对话框刚好显示出来时做一些事情,因为在OnInitDialog()做会出错的,出错的原因很简单,就是窗体还没显示,希望高手指教,谢谢!
...全文
88
9
打赏
收藏
VC里有没有这样的实现?
在Delphi或VB等都有这样的事件,就是窗体刚好显示完时触发的事件,一般为form_active事件(不是form_load或form_create),请问vc里如何实现?我现在希望我的对话框刚好显示出来时做一些事情,因为在OnInitDialog()做会出错的,出错的原因很简单,就是窗体还没显示,希望高手指教,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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_64位运行库
VC
9_64位运行库是Windows操作系统上用于支持基于...当您发现有程序提示需要
VC
9运行库或者在使用像PHPStudy这样的集成开发环境时遇到问题,安装
vc
9_x64.exe文件可以有效解决问题,提升系统的兼容性和程序的执行效率。
技术
VC
=技术+
VC
?技术
VC
公司如何生存?
技术
VC
有别于资金
VC
,技术
VC
,顾名思义就是以技术入股的方式达成合作协议,创始人给出相应股份,投资者投入技术成为“技术合伙人”。互联网创业如火如荼地兴起,90%的创业者都不是技术出身,技术人员的招聘也很难把...
vc
实现
打印功能
Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它
实现
程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在
VC
中
实现
打印功能,他们往往感到在MFC提供的框架内
实现
这个问题很复杂,不知道如何...
VC
实现
界面多语言化
VC
实现
多语言化有多种方法,下面简要介绍了几种方法并进行了比较。 方法1:为每个资源项(对话框、字符串、菜单等)创建一个或者多个副本,并将其内容更改为目标语言,并在程序启动时调用SetThreadLocale()函数...
在
VC
下
实现
串口通讯
在
VC
下
实现
串口通讯有两种方法: 一种是直接使用 MSComm32 控件,这种方法比较简单,只需要之直接调用相应的控件类的接口就可以对串口进行操作。 另一种方法就是使用Windows的API接口,相对比较复杂。 再次就先...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章