有人知道象有些程序有换肤功能 但是每一种皮肤的同一个控件的外观竟然是从同一个图象文件里的不同部分读出来的 是怎么实现的啊 如qq那样的.

解决方案 »

  1.   

    作为整体读入,用Canvas.CopyRect复制不同的部分,即调用GDI StretchBlt!
      

  2.   

    看看“范例.ini”不就知道了吗?
      

  3.   

    http://www.codeproject.com/dialog/skinsyse.asp
      

  4.   

    http://skinart.y365.com/myprogram/gt.zip
    http://skinart.y365.com/myprogram/coolui.zip
      

  5.   

    short of faint头晕,昏过去
      

  6.   

    方法是一样的,没有什么区别
    那种界面一般都是需要ini的,里面写入了位置信息
      

  7.   

    看看www.vckbase.com 吧!,不过该程序有Bug,
      

  8.   

    谢谢你 Yans 这个网站不错
      

  9.   

    你可以LoadImage一个文件
    然后从一个ini中读出几个矩形位置,然后把它 BitBlt 就OK了
      

  10.   

    也许是 TransparentBlt 或  AlphaBlt 也不一定哈
      

  11.   

    short of faint头晕,昏过去