VC 一个关于复选框操作的问题!
我建立了一个MFC基于对话框的程序,在上面设置了一个复选框,又给复选框关联了一个BOOL变量。我发现构造函数里,这个BOOL变量被赋值为FALSE,且运行程序后,复选框默...
我建立了一个MFC基于对话框的程序,在上面设置了一个复选框,又给复选框关联了一个BOOL变量。我发现构造函数里,这个BOOL变量被赋值为FALSE,且运行程序后,复选框默认是未选中的,这没有问题。
后来,我试着在构造函数里,把这个FALSE改为TRUE,结果运行程序后,复选框就变成选中的了。
我又试了一下,把构造函数里改回赋值为FALSE,而在OnInitdialog()里把这个BOOL变量设置为TRUE,结果运行后,复选框竟然是未选中状态……
我知道希望默认选中的话,可以用SetCheck(BST_CHECKED)。我想问的是,在构造函数里赋值和在OnInitdialog()里赋值为什么结果会不同呢? 展开
后来,我试着在构造函数里,把这个FALSE改为TRUE,结果运行程序后,复选框就变成选中的了。
我又试了一下,把构造函数里改回赋值为FALSE,而在OnInitdialog()里把这个BOOL变量设置为TRUE,结果运行后,复选框竟然是未选中状态……
我知道希望默认选中的话,可以用SetCheck(BST_CHECKED)。我想问的是,在构造函数里赋值和在OnInitdialog()里赋值为什么结果会不同呢? 展开
2个回答
展开全部
在那里赋值的结果应该是相同的,只不过是你的构造函数和OnInitdialog()执行的先后问题。你的程序应该是先初始化对话框,然后在初始化复选框。所以当初始化对话框时设置了复选框为TRUE,然后在初始化复选框时调用构造函数就又把它设为FALSE了。所以是未选中状态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询