用以下方法从fontdialog取出Tfont属性转换成logfont结构:
var
  logfont:TLogFont;
begin
  GetObject(fontDialog1.Font.Handle, sizeof(logfont), @logfont);
end;但是 取出的logfont.lfFaceName的值不是空的就是乱码,请问这种转换方法是不是错的,如果是,正确的方法是什么???

解决方案 »

  1.   

    var
    logfont:TLogFont;
    begin
      GetObject(fontDialog1.Font.Handle, sizeof(logfont), @logfont);
     showmessage( logfont.lfFaceName );
    end;
    ---------------------------
    Project1
    ---------------------------
    MS Sans Serif
    ---------------------------
    OK   
    ---------------------------
      

  2.   

    var
    logfont:TLogFont;
    begin
      if fontDialog1.Execute then  //选择仿宋_GB2312
      begin
        GetObject(fontDialog1.Font.Handle, sizeof(logfont), @logfont);
        showmessage( logfont.lfFaceName );
      end;
    end;---------------------------
    Project1
    ---------------------------
    仿宋_GB2312
    ---------------------------
    OK   
    ---------------------------