http://www.codeguru.com/buttonctrl/index.shtml参见Non-Rectangular buttons
当然你也可以参见dialog得创建
http://www.codeguru.com/dialog/RoundDialog.shtml

解决方案 »

  1.   

    这个问题以前有人说过的,SetWindowRgn函数可以创建不规则形状窗口:
    CWnd::SetWindowRgn的函数原型如下:
    int SetWindowRgn( HRGN hRgn, // 窗口区域句柄
    BOOL bRedraw ); // 是否重画窗口
    //程序段:
    CRgn m_rgnWnd
    m_rgnWnd.CreateEllipticRgn(0, 0, 200, 100); 
    // 将m_rgnWnd设置为窗口区域 
    SetWindowRgn((HRGN)m_rgnWnd, TRUE); 
    //椭圆窗口,试试吧。
    如果还有问题,只管说!
      

  2.   

    窗口的定位,一般改变其参数定义。如上面的仁兄就改变了m_rgnWnd.CreateEllipticRgn(0, 0, 200, 100); 如果改变(0,0,0)这三个参数,可以得到不同形状的窗口。
      

  3.   

    conquerors(啊权)说的很正确!!