怎样让按钮一直处于选中状态?

yeyuanzhi2000 2009-06-11 09:54:52
我新建了一个按钮,ID是IDC_BUTTON1,我想让按钮一直处于选中状态代码如下:
void CToolView::OnButton1()
{
CCmdUI* pCmdUI;
pCmdUI->SetCheck(IDC_BUTTON1);
}
运行后,点击按钮后处于选中状态了,但程序马上崩溃. 为什么?请高手指点.谢谢!!
...全文
675 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeyuanzhi2008 2009-06-15
  • 打赏
  • 举报
回复
有现成的实例源码下载吗?
liangxd09 2009-06-11
  • 打赏
  • 举报
回复
扩展按钮 加一个参数 TRUE就是选中 自己控制
b43ok 2009-06-11
  • 打赏
  • 举报
回复
9楼正解
lonelyhacker 2009-06-11
  • 打赏
  • 举报
回复
m_button.SetState(TRUE);
m_button.SetCheck(TRUE);
freeinsky 2009-06-11
  • 打赏
  • 举报
回复
void CToolView::OnButton1()
{
CCmdUI* pCmdUI;
pCmdUI->SetCheck(IDC_BUTTON1);
}

pCMDUI 没有初始化,肯定是不行的,

对话框里一般是先得到handle 再setcheck的

skyxie 2009-06-11
  • 打赏
  • 举报
回复
要check,需要把按钮风格改为BS_PUSHBUTTON
Ryanwen 2009-06-11
  • 打赏
  • 举报
回复
给个事例你自己看吧
LINK:http://www.codeproject.com/KB/buttons/CRoundButton2.aspx
yeyuanzhi2000 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 skyxie 的回复:]
需要映射 ON_UPDATE_COMMAND_UI

afx_msg void OnUpdateXXX( CCmdUI* pCmdUI )
{
pCmdUI->SetCheck(TRUE);
}
[/Quote]
我也试过。但是按钮没处于选中状态。
yeyuanzhi2000 2009-06-11
  • 打赏
  • 举报
回复
Ryanwen 告诉我用(CButton*GetDlgItem(IDC_BUTTON1))->SetCheck(BST_CHECKED);我按他的方法做了,但语法好像有问题.编译出错.是(CButton*GetDlgItem(IDC_BUTTON1))的问题,是不是括号的问题?后来我加了按钮成员函数m_btn 然后这样写:
void CToolView::OnButton1()
{
m_btn.SetCheck(BST_CHECKED);
}
编译没问题,但是按钮没处于选中状态。
skyxie 2009-06-11
  • 打赏
  • 举报
回复
需要映射 ON_UPDATE_COMMAND_UI

afx_msg void OnUpdateXXX( CCmdUI* pCmdUI )
{
pCmdUI->SetCheck(TRUE);
}
yeyuanzhi2000 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bxf19830819 的回复:]
什么按钮,对话框上普通的那种?
[/Quote]
普通的
yeyuanzhi2000 2009-06-11
  • 打赏
  • 举报
回复
如何初始化?
峰白 2009-06-11
  • 打赏
  • 举报
回复
什么按钮,对话框上普通的那种?
majun01 2009-06-11
  • 打赏
  • 举报
回复
崩溃原因:
CCmdUI* pCmdUI;
pCmdUI->SetCheck(IDC_BUTTON1);
中的pCmdUI未初始化
明日的明月 2009-06-11
  • 打赏
  • 举报
回复
似乎9楼是正确的理解呢!~~~~~~~~~~
  • 打赏
  • 举报
回复
m_btnTest.SetState(TRUE);
zwfgdlc 2009-06-11
  • 打赏
  • 举报
回复
MSDN有例子,怎么不先看看呢。

CButton myButton;

// Create a push button.
myButton.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
CRect(10,10,100,30), pParentWnd, 1);

// Show it as pushed.
myButton.SetState( TRUE );

RichyMong 2009-06-11
  • 打赏
  • 举报
回复
重载cbutton吧,DrawItem(LPDRAWITEMSTRUCT lpDIS)中强制把lpDIS->itemState = ODS_SELECTED试试
本文实例讲述了微信小程序实现动态设置placeholder提示文字及按钮选中取消状态的方法。分享给大家供大家参考,具体如下: 效果图展示    通过绑定点击事件placeholder方法,获取data-num的值,通过js判断num等于几,然后通过class={{num==X?'active':''}}表达式判断哪个标签处于选中状态(即蓝底白字); js通过获取data-key,设置input输入框中placeholder的动态值 wxml里的内容:

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧