对话框已经可以放大缩小了 ,tab control附着对话框, 会闪烁,有代码吗

解决方案 »

  1.   

    对话框已经可以放大缩小了 ,tab control附着对话框, 会闪烁,有代码吗
      

  2.   

    你怎么做的
    这有代码
    但是不知道你要的是什么
    http://blog.csdn.net/xianglitian/article/details/5667015
      

  3.   

    牛人啊闪烁问题过会解决巴
     有个主对话框,主对话框上有个tab control, tab control 关联了dlg1,dlg2,....tab control控件随着对话框是可以放大缩小的,但是问题出现在:dlg1, dlg2,居然是固定的,不会跟着主对话框一块放大缩小。很奇怪!代码如下:
     void CTargetStateDialog::OnSize(UINT nType, int cx, int cy)
    {
    CDialog::OnSize(nType, cx, cy);
        //对tab control控件及tab control控件相关联在对话框在WM_SIZE消息进行处理
    if(m_tabCtrl.GetSafeHwnd())
    {
    CRect rc;
    GetClientRect(&rc);
    m_tabCtrl.MoveWindow(&rc); if(dlg1->GetSafeHwnd())
    {
            rc.bottom -= 20;
            rc.left += 1;
            rc.right -= 1;
            dlg1->MoveWindow(&rc );
    }
    }
    }
    dlg1我将它设为:Resizing 了,是child风格
      

  4.   

    不要把dlg作为tab的子窗口
    让他们作为主对话框的子窗口
    或者在TabCtrl的OnSize处理其所管理页面的缩放
      

  5.   

    向大侠, 看完整代码:主对话框CTargetStateDialog,m_targetTrackDlg是 子对话框,m_tabCtrl是tab
    BOOL CTargetStateDialog::OnInitDialog()
    {
    CDialog::OnInitDialog();
    //将tab control控件与其他对话框关联起来(比如:目标轨迹对话框,目标注释对话框)
    m_tabCtrl.InsertItem(0,_T("目标轨迹"));
    m_tabCtrl.InsertItem(1,_T("目标注释"));
    m_tabCtrl.InsertItem(2,_T("数据库相关操作")); m_targetTrackDlg->Create(IDD_TARGET_STATE_DIALOG,this);  //主对话框作为其他对话框的父窗口  我照你说的,改成主对话框做为父窗口,
        m_targetTrackDlg->ShowWindow(1);
      
        m_tabCtrl.SetCurSel(0);   // //设置默认的选项卡 return TRUE;               // 除非将焦点设置到控件,否则返回 TRUE
    }
    void CTargetStateDialog::OnSize(UINT nType, int cx, int cy)
    {
    CDialog::OnSize(nType, cx, cy);    //对tab control控件及主对话框上面的对话框进行处理wm_size消息
    if(m_tabCtrl.GetSafeHwnd())
    {
    CRect rc;
    GetClientRect(&rc); rc.bottom-=20;
    m_tabCtrl.MoveWindow(&rc); if(m_targetTrackDlg->GetSafeHwnd())
    {

    GetClientRect(&rc);
    m_targetTrackDlg->MoveWindow(&rc);
    }

    }
    }结果还不是一样,我开始对WM_SIZE  越来越迷惑了
      

  6.   

    我现在也混了,  我在主对话框的OnInitDialog中加了句:GetClinetRect(&rc);自对话框->MoveWindow(&rc);
    就可以了我人品态太背了, 子对话框上有个静态文本框, 一个按钮, 结果我发现,他们都不见了,,,,,奇怪吧,,,我昨天其实就写过一个tab control, 今天把代码一移植到项目中,结果就出了不少问题, 浪费了大半时间 ,