VS2005 WinXP SDK
いつもお世話になっています。
早速ですが質問です。
いま、ツールの設定データを
Get/WritePrivateProfille関数でiniファイルとして保存しています。
しかし、表題のCHOOSEFONTとLOGFONT等のフォントデータの保存に
上記関数を使うのはかなり大変だと思い、躊躇しています。
代替え案として考えたのが、
①バイトを文字列として保存する
②保存用の関数を気合入れて作る
③sprintf、sscanfなどで、文字列として保存する
などなのですが、そこで質問します。
1.フォントを簡単にiniファイルに保存するような方法はありませんか?
2.もし無いなら皆さんはどのように保存しますか?
3.こういった場合どういった方法が標準的対応でしょうか?
以上
よろしくお願いいたします。
WritePrivateProfileStruct
GetPrivateProfileStruct
というAPIがありますが、使えるのかは知りません。
フォント名とかをそれぞれテキストで保存する場合が多いのではないかと思います
が、本当に多いかは知りません。
LOGFONTに関しては
>WritePrivateProfileStruct
>GetPrivateProfileStruct
を使ってINIファイルに保存/復元をしても問題ないでしょう。
(そうやった経験はあります。)
CHOOSEFONTに関しては構造体がどうなっているのか
よくご覧になればわかりますが、LOGFONT同様に
>WritePrivateProfileStruct
>GetPrivateProfileStruct
を使うのは気をつけるべき点がいくつかあります。
それは、ポインタの値やハンドルを構造体のメンバ変数として扱っている点です。
保存時には有効なポインタやハンドルであっても、復元時には無効になってしまうでし
ょう。
(必要な情報(メンバ変数)だけ書き出したほうがよさげ)
>通りすがりさん
Get/WritePrivateProfileStructで出来ましたありがとうございます。
>Blueさん
ありがとうございます。
構造体のポインタだけは読み込んだあとに
関連付けなおすようにしました。
確かにCHOOSEFONTのほうはほぼ固定なので、
必要なものだけ、読み書きします。
(不要なアドレスは危険ですもんね)
済