您好,若Combo下紧临一个控件(如Edit),当拉了一次Combo后,Combo会恢复,但是下面的控件会被一片白色的区域覆盖,请问如何解决,当然啦,假如拉开它们之间的距离会破坏布局,谢谢!

解决方案 »

  1.   

    不要吓我啦,就是普通一个MFC 对话框应用程序,不至于吧?
    那么如何重绘这个背遮住的控件呢?谢谢
      

  2.   

    BOOL CStepOne::OnInitDialog() 
    {
    CDialog::OnInitDialog();

    (this->m_fontStepOneCompanyName).CreateFont(
    25,0,0,0,
    FW_BOLD,FALSE,FALSE,FALSE,DEFAULT_CHARSET,
    OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,
    DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,"宋体"); 
    (this->m_fontStepOneTitle).CreateFont(
    20,0,0,0,
    FW_BOLD,FALSE,FALSE,FALSE,DEFAULT_CHARSET,
    OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,
    DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,"宋体"); 
    (this->m_fontStepOneContent).CreateFont(
    16,0,0,0,
    500,FALSE,FALSE,FALSE,DEFAULT_CHARSET,
    OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,
    DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,"宋体"); 
    ((CStatic *)GetDlgItem(IDC_StaticCompanyName))->SetFont(&m_fontStepOneCompanyName);
    ((CStatic *)GetDlgItem(IDC_StaticTitle))->SetFont(&m_fontStepOneTitle);
    ((CStatic *)GetDlgItem(IDC_StaticContent))->SetFont(&m_fontStepOneContent);

    // TODO: Add extra initialization here

    return TRUE;  // return TRUE unless you set the focus to a control
                  // EXCEPTION: OCX Property Pages should return FALSE
    }
    除了这个就没添什么其它的啦,谢谢。
      

  3.   

    CFont m_fontStepOneCompanyName;
    CFont m_fontStepOneTitle;
    CFont m_fontStepOneContent;
      

  4.   

    如此必有奥妙,工程打包发给我:[email protected],打包前清理一下以免太大。
      

  5.   

    我首先删除了向导自动生成的对话框和它对应的类文件.h和.cpp,然后添加了我自己的对话框,并创建了它自己的类。
    然后我通过向导添加了ON_WM_PAINT();
    与它对应的函数为:
    void CStepOne::OnPaint() 
    {}
    然后这一步可能要被人K啦:
    我发觉怎么样也没有ON_WM_QUERYDRAGICON() 消息,
    于是我野蛮的加了上去,同时添加了与它相对应的函数:
    HCURSOR CStepOne::OnQueryDragIcon()
    {
    return (HCURSOR)m_hIcon;
    }对话框类构造函数处: m_hIcon = AfxGetApp()->LoadIcon(IDR_aa);对话框类消息映射:
    BEGIN_MESSAGE_MAP(CStepOne, CDialog)
    //{{AFX_MSG_MAP(CStepOne)
    ON_WM_PAINT()
            ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP
    //
    END_MESSAGE_MAP()谢谢谢谢谢谢。
      

  6.   

    OnPaint函数中有什么?如果是空的就不行,至少加上:
    CPaintDC dc(this);这一句!不诚实,不用发代码了。也许你想不到,一个空函数也会有问题,但是对于WM_PAINT消息就是这样。