如题

解决方案 »

  1.   

    不会是你的dlg压根就不在任务栏显示吧?
      

  2.   

    我的主窗口在任务栏显示的,是基于对话框模式的,按菜单弹出一个子窗口,把这个子窗口最小化就不见了,正常情况,像mdi模式,可以在客户区域最下边显示的
      

  3.   

    最小化,Destory了窗口?贴代码,实在一些
      

  4.   

    我在这个对话框应用程序的主界面的onpaint添加背景图片的,我试过,把这一段取消,就看到最小化后的窗体在状态栏上了,是不是不能两者共存呀
      

  5.   

    void CMain::OnPaint()
    {
    CPaintDC dc(this); // 用于绘制的设备上下文
    if (IsIconic())
    {
    SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作矩形中居中
    int cxIcon = GetSystemMetrics(SM_CXICON);
    int cyIcon = GetSystemMetrics(SM_CYICON);
    CRect rect;
    GetClientRect(&rect);
    int x = (rect.Width() - cxIcon + 1) / 2;
    int y = (rect.Height() - cyIcon + 1) / 2; // 绘制图标
    dc.DrawIcon(x, y, m_hIcon);
    }
    //else
    //{
    // CDialog::OnPaint();
    //}
    //根据分辨率画背景
    CBitmap bit;
    CDC memDC;
    CRect bkrect;
    this->GetClientRect(&bkrect);
    int xpos=::GetSystemMetrics(SM_CXSCREEN);
    if(xpos==1024)
    bit.LoadBitmap(IDB_BITMAP_BK);
    else
    bit.LoadBitmap(IDB_BITMAP_BK);
    memDC.CreateCompatibleDC(&dc);
    memDC.SelectObject(&bit);
    dc.BitBlt(0,5,bkrect.Width(),bkrect.Height(),&memDC,0,0,SRCCOPY);
    memDC.DeleteDC();
    ::DeleteObject(&bit);
    }