掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridのDrawCellで文字列の出力位置を調整するには (ID:19071)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
現在、StringGridのDrawCellイベントで 左寄せ、センタリングなどのオプションを設定の上、DrawTextExで文字列を出力しています。 DrawTextEx(Self.Canvas.Handle, PChar(S), Length(S), ARect, Options, nil); この表示文字列をGoogleの検索結果のハイライトのように色分けをしたいと思い まずは単純に指定の文字列があったらその部分を赤くし、それ以外は黒くしようと 下記のような場合分けを行いました。(指定文字列の検索処理は省略します) if 指定文字列があった then begin Font色を変更 DrawTextEx(Self.Canvas.Handle, PChar(S), Length(S), ARect, Options, nil); end else DrawTextEx(Self.Canvas.Handle, PChar(S), Length(S), ARect, Options, nil); end; 文字列の部分を出力する場合にTextWidthとTextHeightを使用して出力した文字列の部分のサイズを取得し ARectのTop,Leftプロパティに加算して次の文字列の出力位置を調整してみたのですが こうすると、ARectで示される文字列の整形領域が出力のたびに変わってしまうのでうまく編集されない状態です。 編集オプションの適用範囲(ARectのサイズ)はそのままに、文字列の出力開始位置を指定できないものでしょうか。 どなたか回答もしくは参考となる情報ありましたら、ご指摘をお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.