大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Code::BlocksでwxSlider,wxFont 続き

株式会社クローバーフィールドの経営理念
著者:津路高広
公開日:2019/03/05
最終更新日:2019/03/05
カテゴリー:技術情報
タグ:

津路です。
前回では、Static Text widgetの
フォントを変えたときに、ワーニングが発生して、一向に反映されませんでした。
このワーニングでは、アクセス方法が古くてだめだと言われていました。
今回は、これを解決するため、色々tryしてみました。
以下の関数定義のそれぞれを調べることからはじめました。
wxFont StaticText2Font(10,wxDEFAULT,wxFONTSTYLE_NORMAL,wxBOLD,false,_T(“Roboto”),wxFONTENCODING_DEFAULT);
まず、第2引数は、font familyです。wxDEFAULTの定義では、enum wxDeprecatedGUIConstantsに入っていて、これが問題です。
wxFontの定義では、wxFontFamily ですので、enum wxFontFamilyが定義されていますので、その中のどれかが正解です。
と変えてみましたが、ワーニングは消えません。

次のwxFONTSTYLE_NORMALは問題なし。
wxBOLDは、deprecatedですので、wxFONTWEIGHT_BOLDに変更。
ワーニングは消えましたが、Runしても反映されません。

次には、Fontエディタにて、Advancedをクリックして、System-based fontを選択し、大きめにしました。それでも反映されず。
Sans Bold fontがシステムにもあるのを確認しましたが、もとのままです。
その後、いろいろtryしました。System-based fontのままで、StyleをNormalに、WeightもNormalにして、アンダーバーを設定(Underlined-Yes)しました。
これで、アンダーバーだけは反映されました。BOLDやフォントは、反映されませんが。。

また、プログラムでSliderイベントから値を求めて、フォントサイズを変更しようとしましたが、反映されません。。

ところで、ソースコードを編集していると、アンダーバーが見えないことに気づきました。

アンダーバーが見えない


アンダーバーは、文字列を、国際化を気にせず、関数に任せたい、あるいはUnicodeなども吸収してほしい場合に、_Tマクロみたいに、_(“文字列”)として使います。
これを解消するには、メニューからSetting-Editorを開いて、Fontを選びなおします。

Fontを変えるとアンダーバーが表示された

    上に戻る