RemoveFontResource的问题,有一定难度,谁能解决,多多得分,可以另外开贴给分!!!
sans 2001-12-19 04:29:51 一个简单的基于对话框的程序,在初始化软件时使用AddFontResource增加一个字体,在程序中使用了此字体,在退出程序时在使用RemoveFontResource时系统出现错误提示,忽略两次后软件仍然能够正常退出,但这个错误只在Win98第一、第二版中会发生,在WinMe下不会,这是为什么?
程序代码大致如下:
在OnInitDialog()中:
AddFontResource( "f:\\myfonts\\myfont01.ttf" );//注意没有安装到系统字体目录下。
m_fMyFont.CreateFont( 32, ....,"MyFont01" );//字体名为MyFont01,m_fMyFont为一个CFont类。
m_Text.SetFont( &m_fMyFont ); //m_Text是一个CStatic控件
m_Btn.SetFont( &m_fMyFont ); //m_Btn是一个CButton控件
...
在退出软件时:
RemoveFontResource( "f:\\myfonts\\myfont01.ttf" );//这个调用出错,但如果用GetLastError取得的却是“正确执行了操作”。
如果将m_Text.SetFont一句屏蔽,而不屏蔽m_Btn.SetFont,那么RemoveFontResource就不会出错了。
我真的很搞不明白,谁能帮助我?