没钱了,大家见谅。我将一个Picture Control属性设置为Etched和Frame。
如果直接启动程序,可以看得出来是一条嵌入的直线。但是,如果我使用代码MoveWindow(10, 10, 580, 0);改变这条直线的长度,发现显示不出来。
如果将最后一个参数0改成1,显示出来的就不是嵌入的样子了。求解呀~~~~
有什么办法动态改变这样子的直线的长度??PS:因为窗口是可以调整大小的,所以我希望可以动态改变这条分割线的长度。
没分,请见谅

解决方案 »

  1.   

    moveWindow后面两个参数是:width & height,你的height为0, 还能显示?
      

  2.   


    但是我获取到的原先的height就是为0呀,它怎么可以显示出来呢?
      

  3.   

    CRect rc;
    m_Pict.GetClientRect(&rc);
    rc.right-=20;
    rc.bottom+=1;//必须为1或2 m_Pict.MapWindowPoints(this,&rc);
    m_Pict.MoveWindow(&rc);
      

  4.   

    在资源文件中:    CONTROL         "",IDC_PICT,"Static",SS_ETCHEDFRAME | SS_NOTIFY,161,151,56,1
      

  5.   

    Public Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
    按定义好像应该为2:内外各一
      

  6.   

    Border3DStyle.ETCHED
    Specifies a sunken inner edge and a raised outer edge.