有的。现在的问题是,请先看我的程序:<br>procedure TMainForm.FileListBox1Click(Sender: TObject);<br>Var<br> i : Integer;<br> Path : String;<br> RemoveOK : Boolean;<br>begin<br> RemoveOk := true;<br> If OneFileName <> '' then<br> begin<br> Edit1.Font.Name := FontNameList.Items[1];<br> showmessage(OneFileName);<br> while RemoveOK do<br> if RemoveFontResource(PChar(OneFileName))=true then<br> begin<br> showmessage('ok'); 《-- 在这里老显示OK。<br> RemoveOK := False;<br> end<br> else showmessage('no');<br> SendMessage( HWND_BROADCAST, WM_FONTCHANGE, 0, 0 );<br> OneFileName := '';<br> End;<br><br> If FileListBox1.SelCount = 1 then<br> begin<br> OneFileName := FileListBox1.FileName;<br> AddFontResource(Pchar(OneFileName));<br> SendMessage( HWND_BROADCAST, WM_FONTCHANGE, 0, 0 );<br><br> If ViewP.Down then 〈--VIEWP是一个ToolBar97的按钮,用来决定是否预览。<br> begin<br> FillList;<br> for i:=0 to FFonts.Count - 1 do<br> if FontNameList.Items.IndexOf(FFonts.Strings)= -1 then<br> If FFonts.Strings[1] <> '@' then<br> begin<br> showmessage(FFonts.Strings); 《-见后<br> Edit1.Font.Name := FFonts.Strings;<br> end;<br> end;<br> end;<br>end;<br><br>在见后那里,可能由于不能移除原来那个字体的原因,会重复几次出现字体名。<br>应该是不能移除的原因吧?<br>请大家共同研究,并祝大家新年好!<br><br>注:FillList是dwwang写的让FFonts取得字体名列表的过程。