Как ты 2022-03-06 20:30 采纳率: 100%
浏览 34
已结题

mfc Tab Control控件切换时出现越界

TYPEGROUP.InsertItem(TYPE_1, _T("版本1")); //添加选项卡
TYPEGROUP.InsertItem(TYPE_2, _T("版本2")); //添加选项卡

m_type1 = new TYPE1;

m_type2 = new TYPE2;


type1.Create(IDD_DIALOG1, &TYPEGROUP);
//type1.ShowWindow(true);
type2.Create(IDD_DIALOG2, &TYPEGROUP);
CRect rsHard;
TYPEGROUP.GetClientRect(&rsHard);
//调整子对话框在父窗口中的位置,可以改动数值,使子窗体的大小合适;
rsHard.top += 22;
rsHard.bottom -= 2;
rsHard.left += 2;
rsHard.right -= 4;
type1.MoveWindow(&rsHard);
type2.MoveWindow(&rsHard);
type1.ShowWindow(true);
type2.ShowWindow(false);
p[1]= &type1;
p[2] = &type2;

之后运行type1初始化的时候报错
BOOL TYPE1::OnInitDialog()
{
CDialogEx::OnInitDialog();

// 将“关于...”菜单项添加到系统菜单中。

// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
    BOOL bNameValid;
    CString strAboutMenu;
    bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
    ASSERT(bNameValid);
    if (!strAboutMenu.IsEmpty())
    {
        pSysMenu->AppendMenu(MF_SEPARATOR);
        pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    }
}

// 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动
//  执行此操作
SetIcon(m_hIcon1, TRUE);            // 设置大图标
SetIcon(m_hIcon1, FALSE);        // 设置小图标

// TODO:  在此添加额外的初始化代码


/*
GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON3)->EnableWindow(FALSE);
GetDlgItem(IDC_CHECK1)->EnableWindow(FALSE);
GetDlgItem(IDC_SLIDER1)->EnableWindow(FALSE);
GetDlgItem(IDC_SLIDER2)->EnableWindow(FALSE);
GetDlgItem(IDC_SLIDER3)->EnableWindow(FALSE);
GetDlgItem(IDC_COMBO1)->EnableWindow(FALSE);
GetDlgItem(IDC_SLIDER4)->EnableWindow(FALSE);
GetDlgItem(IDC_SLIDER5)->EnableWindow(FALSE);
GetDlgItem(IDC_SLIDER6)->EnableWindow(FALSE);
GetDlgItem(IDC_SLIDER7)->EnableWindow(FALSE);

*/

return FALSE;  // 除非将焦点设置到控件,否则返回 TRUE

}

在我注释掉的地方报错未处理的异常0x0000005读取位置0x00000000时发生访问冲突

请问我该怎么改,为什么会出现这种情况

  • 写回答

1条回答 默认 最新

  • Как ты 2022-03-07 10:44
    关注

    解决了,是我对mfc的理解不够,我type1和type2的控件什么的重名了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 创建了问题 3月6日

悬赏问题

  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Matlab求解微分方程,如何用fish2d进行预优?