我们在用MFC编程的时候,经常会遇到一个对话框dialog上要放置大量的控件,比如button,edit,listctrl,listbox等,尤其是button和edit,有时候可能一个对话框中放置20个左右,我想知道的是,大家一般对这些对话框的命名是怎么处理的?
      还有当对话框改变大小的时候,resize的时候,大家是怎么做到让上面的大量控件也随窗口而改变位置的,是每个都要去设置,还是怎么搞的?有编程经验的高手,可不可以说下,自己在平时是怎么处理比较的见解和有效率啊?论坛重开后,第一次发帖,热身~~~

解决方案 »

  1.   

    呵,刚好前段时间做过一个,命名都是这样的啦:m_btn***,m_edit***,m_lc***,m_lb***;
    第二个问题就有意思了,比如要控制部分控件的显示或隐藏,重定位等内容,最好在resource.h里面把相关的控件的值编在一起,方便控制.比如控件移位:
    for(int nId2=IDC_BUTTON_XXX;nId2<=IDC_STATIC_XXX+N;nId2++)
    {
    CRect rect;
    CWnd *pWnd=GetDlgItem(nId2);
    pWnd->GetWindowRect(&rect);
    rect.OffsetRect(-10,-50);//设置位移
    ScreenToClient(&rect);//座标转换
    pWnd->MoveWindow(rect);//移位
    }
    同样,RESIZE的时候,找一个参照控件或参照座标,计算位移,按上面的方法也一样可以实现.