C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.12251 の関連記事表示

<< 0 >>
■12251  フォントが等幅かどうか調べたい
□投稿者/ Hirotow -(2008/01/06(Sun) 14:10:42)

    分類:[.NET 全般] 

    先日のバイナリエディタの続きなのですが、
    TextBoxを使用した処理だとあまりに重過ぎるようなので全体的にオーナードローで再作成したいと思っています。
    そこでフォントを自由に変えられるようにしたいのですが、プロポーショナルなフォントを指定されると困ります。
    そこで設定可能なフォントを等幅フォントのみに制限したいのですが検索しても見つかりません。
    どなたかご存知の方がいましたらご協力をお願いいたします。
親記事 /過去ログ26より / 関連記事表示
削除チェック/

■12252  Re[1]: フォントが等幅かどうか調べたい
□投稿者/ やじゅ -(2008/01/06(Sun) 14:37:50)
>
    No12251 (Hirotow さん) に返信
    > そこで設定可能なフォントを等幅フォントのみに制限したいのですが検索しても見つかりません。
    > どなたかご存知の方がいましたらご協力をお願いいたします。

    フォント名だけでは判断出来かねますからね、
    しいて言えば、特定の文字の大きさを調べて同一なら等幅と判断するくらいですかね。
    特定の文字が何なのかは、いろいろな文字で調べてみるといいのでは。

    文字列を描画したときの大きさを計測する
    http://dobon.net/vb/dotnet/graphics/measurestring.html
記事No.12251 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12254  Re[2]: フォントが等幅かどうか調べたい
□投稿者/ Hirotow -(2008/01/06(Sun) 15:45:29)
    以下のようなコードにしたらサイズ調整はうまくいきました。
    
    tlpMain.RowStyles[0].Height = Font.Height;
    pbxHeader.Image = new Bitmap(pbxHeader.Width, pbxHeader.Height);
    gHeader = Graphics.FromImage(pbxHeader.Image);
    tlpMain.ColumnStyles[0].Width =
    	gHeader.MeasureString("#00000000#", Font, 1024, StringFormat.GenericDefault).Width;
    tlpMain.ColumnStyles[1].Width =
    	gHeader.MeasureString("#00#01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F", Font, 1024, StringFormat.GenericDefault).Width;
    pbxLineNo.Image = new Bitmap(pbxLineNo.Width, pbxLineNo.Height);
    gLineNo = Graphics.FromImage(pbxLineNo.Image);
    pbxHexView.Image = new Bitmap(pbxHexView.Width, pbxHexView.Height);
    gHexView = Graphics.FromImage(pbxHexView.Image);
    pbxTextView.Image = new Bitmap(pbxTextView.Width, pbxTextView.Height);
    gTextView = Graphics.FromImage(pbxTextView.Image);
    
    リンク先が非常に参考になりました。
    ありがとうございます。
    ただどのタイミングで再描画を呼び出すべきかいまいちわかりませんのでご教授をいただけると幸いです。
    
    ■No12252 (やじゅ さん) に返信
    > ■No12251 (Hirotow さん) に返信
    >>そこで設定可能なフォントを等幅フォントのみに制限したいのですが検索しても見つかりません。
    >>どなたかご存知の方がいましたらご協力をお願いいたします。
    > 
    > フォント名だけでは判断出来かねますからね、
    > しいて言えば、特定の文字の大きさを調べて同一なら等幅と判断するくらいですかね。
    > 特定の文字が何なのかは、いろいろな文字で調べてみるといいのでは。
    > 
    > 文字列を描画したときの大きさを計測する
    > http://dobon.net/vb/dotnet/graphics/measurestring.html
記事No.12251 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12256  Re[3]: フォントが等幅かどうか調べたい
□投稿者/ やじゅ -(2008/01/06(Sun) 18:38:18)
>
    No12254 (Hirotow さん) に返信
    > ただどのタイミングで再描画を呼び出すべきかいまいちわかりませんのでご教授をいただけると幸いです。
    >

    普通に考えれば、入力後だと思います。
    どのように作成されているのかイメージ出来ないので、一般的な返答しか出来ないです。
記事No.12251 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12257  Re[4]: フォントが等幅かどうか調べたい
□投稿者/ Hirotow -(2008/01/06(Sun) 22:30:08)
    こんな感じのものです。
    http://mui-style.net/data/BinaryEditor_Mikansei_A.zip

    現状では描画が遅すぎて使い物になりませんが。
    No12256 (やじゅ さん) に返信
    > ■No12254 (Hirotow さん) に返信
    >>ただどのタイミングで再描画を呼び出すべきかいまいちわかりませんのでご教授をいただけると幸いです。
    >>
    >
    > 普通に考えれば、入力後だと思います。
    > どのように作成されているのかイメージ出来ないので、一般的な返答しか出来ないです。
記事No.12251 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12261  Re[5]: フォントが等幅かどうか調べたい
□投稿者/ やじゅ -(2008/01/07(Mon) 00:05:36)
>
記事No.12251 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12265  Re[6]: フォントが等幅かどうか調べたい
□投稿者/ Hirotow -(2008/01/07(Mon) 01:12:06)
    GUIスレッドの処理でCPU使用率が2桁いくと落ち着かない^^
    ダブルバッファ化とかで多少は改善されてはいてもやっぱり遅い。
    Starlingとかだとこの1/5くらいの負荷なのにorz

    表示機能は(負荷の高さを除けば)ほぼ完成したので後は編集機能だけ。
    これもある程度まではテキストボックスベースで実装できているのでコピペして追記^^。
    あとテストアプリはD&Dで読むように変更しました。
    http://mui-style.net/data/BinaryEditor_Mikansei_B.zip
    No12261 (やじゅ さん) に返信
    > ■No12257 (Hirotow さん) に返信
    >>こんな感じのものです。
    >>http://mui-style.net/data/BinaryEditor_Mikansei_A.zip
    >
    > 表示だけなら遅いように思えなかったわけですが・・・
    > 入力して影響するところだけ描画しなおせばいいんじゃないですか
    >
記事No.12251 のレス /過去ログ26より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -