
对于这样的两个单选框(一组),在两者都无选项的时候,可以用TAB停留到任何一个上面(只要都选择有TAB
STOP)但是一旦有某一项选中了,那么TAB就只能停留到该组被选中的那一项上了(要修改选项的话,必须要用上下键或者左右键)
两者中如果都没有选中,在TAB到该组单选框上后可以用上下键确定选项。
如果你希望用TAB来确定选项,可以自己将TAB的按钮消息截取出来传递给特定的控制函数,当然那么做会让你自己多写很多代码(尤其是如果有多组单选表的时候,你要记录当前TAB后程序会FOCUS哪个单选表的哪个单选选项,然后再对那个选项做SETFOCUS和SETCHECK的 *** 作,对该组其他的地方取消选中)
针对你的情况:
1,新建一个单文档程序,一切都接受默认值
2,添加一个对话框资源
3,在对话框资源上添加Tab控件
代码如下:
TCITEM as;
asmask = TCIF_TEXT;
aspszText="one";
m_tabInsertItem(0,&as);
aspszText="two";
m_tabInsertItem(1,&as);
m_1Create(IDD_DIALOG1,&m_tab);
m_2Create(IDD_DIALOG2,&m_tab);
CRect rc;
m_tabGetWindowRect(&rc);
m_2SetWindowPos(NULL,rcleft,rctop,rcright,rcbottom,SWP_HIDEWINDOW);
m_1SetWindowPos(NULL,rcleft,rctop,rcright,rcbottom,SWP_SHOWWINDOW);
// m_1,m_2为两个添加的对话框
4在m_1,m_2两个对话框中分别加上你需要的按钮等控件,实现你需要的功能
5为Tab控件添加切换的响应消息
代码如下:
void CtabDlg::OnTcnSelchangeTab3(NMHDR pNMHDR, LRESULT pResult)
{
// TODO: Add your control notification handler code here
switch(m_tabGetCurSel())
{
case 0:
m_1ShowWindow(SW_SHOW);
m_2ShowWindow(SW_HIDE);
break;
case 1:
m_2ShowWindow(SW_SHOW);
m_1ShowWindow(SW_HIDE);
break;
}
pResult = 0;
}
注:这是重载函数,不是你手动添加的自定义函数。
6,在某个你想点击的菜单上用DoModal()调用该主对话框。
不懂再问。
……你要干啥,
不就是先资源编辑器里面画好窗体内容,窗体没边,带有child样式,然后CreateDialogIndirect,父窗口为tab控件,之后movewindow完了showwindow,没记错的话过程就这样
以上就是关于VC++中如何用tab选中单选框控件全部的内容,包括:VC++中如何用tab选中单选框控件、VC6.0中基于单文档的MFC EXE中的Tab Control控件问题、VC++ win32 application TAB CONTROL控件如何建立以及使用最好有个代码的小例子,谢谢了先~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)