像PHOTOSHOP CS4和 VS2010这种任意形状的启动画面怎么实现

解决方案 »

  1.   

    先可以定义一个HRGN,生成你想要的任何形状,然后调用SetWindowRng设置窗口形状
      

  2.   

    CRgn类
    SetWindowRgn(HRGN, TRUE;)
      

  3.   

    楼上正解,
    用CRgn实现所需的区域(形状), 再在OnInitDialog中调用SetWindowRgn(HRGN, TRUE)即可
      

  4.   

    用gdi函数得到图形轮廓,转换成CRGN,再调用setwindowrgn
      

  5.   

    SetLayeredWindowAttributes可以使对话框部分透明,
    但如何是对话框上面的图片不透明
      

  6.   

    设置窗口风格WS_EX_LAYERED 
    UpdateLayeredWindow 中设置 BLENDFUNCTION
      

  7.   

    建立放置图片的对话框im,然后调用下面两句,
    SetWindowLong(im->GetSafeHwnd()   , GWL_EXSTYLE, GetWindowLong(im->GetSafeHwnd(), GWL_EXSTYLE)^0x80000);
    im->SetLayeredWindowAttributes(RGB(255,255,255),0,1);
    使图片中的白色为透明,就可以显示任意的非矩形启动画面了,
    这两句最好放在OnInitDialog()