一般我存入一个这样的常量“_T(".\\skin\\关闭.png")”来设置我程序中按钮等控件的皮肤图片。
后来我加入了打开对话框的功能,每次打开一个文件,我程序的根路径就变成所打开文件的根路径,这样之前设置的皮肤路径也会跟随这个已改变的根路径,但这些皮肤文件不可能说所有文件都放一个吧,求大侠帮助一下。注意:不想用什么死办法,请问有什么灵活办法?

解决方案 »

  1.   

    皮肤文件可以放在一个相对固定的地方嘛,比如app data,或者程序安装目录下,不明白你是不是这个意思?
      

  2.   

    呃在你程序的最开始保存根目录地址。。
    最开始用 GetModualFileName保存,这样就没问题了
      

  3.   

    错了。。是用GetModuleFileName,取路径。然后放到一个字符串里面CString strPath=GetModuleFileName();
    strPath=strPath.Left(strPath.ReverseFind("\")+1);
      

  4.   

    用绝对路径啊,可以把你的皮肤文件夹与你的exe保持同级目录,GetModuelFileName()得到你exe的路径,然后解析路径拼成你的皮肤路径即可
      

  5.   

    这个办法我已经想过了,但我的应用相对路径,设置皮肤的地方太多了,一开始不知道有这样一个问题,所以有没有一个办法只改一两处,或者设置一下就能解决的,这就是我想的灵活方法。这样我做其它MFC也不必太费劲。