我show了一dialog中有些控件,当从来都没有碰过这些控件时killfocus有响应,当只要我点过控件扣dlg的killfocus就罢工了,请问这是什么道理啊?
还有我继承cbutton写了一个xbutton,再加上一个dialog(中含一个按钮),当点击这按钮时我让它响应xbutton的消息,让其去改变xbutton的成员变量,可是这个点击事件就是不响应?
还有我继承cbutton写了一个xbutton,再加上一个dialog(中含一个按钮),当点击这按钮时我让它响应xbutton的消息,让其去改变xbutton的成员变量,可是这个点击事件就是不响应?
就是dialog无法响应killfocus
一个button点一下弹出一dialog,dialog中有该button的相关属性(就如vc中的控件编辑一样),当点击该dialog的其它地方时,dialog就会显示.
所以我就用dialog的killfocus里写dialog.showwindow(sw_hide),结果就是不响应没有控件或不碰任何一dialog的控件时它是正常sw_hide的,但只要碰了控件,我再点dialog以外的地方,它就是不响应killfocus
我继承了一button类XButton,
我继承了一dialog类XDialog,该dialog中有一个按钮,我该其点击事件通过classwizards映射到XButton里的OnYes()函数,结果这个消息映射就是不的执行
当点击该dialog的其它地方时,dialog就会显示.
==========================================================
这时候dialog还没有显示,怎么点击该dialog的其他地方?是不是笔误,将“隐藏”写成“显示”了?
我明白了,当你没有碰到任何控件时,他的焦点是在dialog上的,这时候如果OnKillFocus,的确就是dialog响应了,当你碰到其中的控件是,其焦点已经到控件上去了,而不是在dialog上了,所以,不响应dialog的那个killfocus函数,因为他本来就没有焦点了你应该在dialog的OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized )函数中判断,当nState为WA_INACTIVE时,就时该dialog失去了焦点(即不激活了)这次应该不会有问题了,呵呵