StringGrid内の文字位置。上下から見て中央に配置するには?

解決


ゆきお  2003-10-24 04:08:11  No: 5380  IP: [192.*.*.*]

度々恐れ入ります。
StringGridのセルにある文字を中央に配置したくてOnDrawCellイベントで
DrawText(Handle, PChar(StringGrid1.Cells[ACol,ARow]),
                 Length(StringGrid1.Cells[ACol,ARow]),
                 Rect,
                 DT_CENTER);
とやってみました。(夕方質問した時いただいたレスを参考にしてます)
DT_CENTER で左右から見た中央寄せになったのですが、上下から見ても中央
寄せにしたいと思っております。現状ではセルの上部にあり、文字の上の
方が少し隠れています。
セルのど真ん中に配置する事はできますでしょうか?
宜しくお願い申し上げます。

編集    削除
にしの  2003-10-24 04:16:11  No: 5381  IP: [192.*.*.*]

そういうときこそ、検索してみましょう。
すでに、DrawTextで、DT_CENTERを使うと中央(横方向)になることはわかっているわけですから。

DT_CENTERを、DT_CENTER or DT_VCENTER or DT_SINGLELINEとすればOKです。
注意:複数行の場合にはできません。

編集    削除
通りすがり  2003-10-24 04:17:01  No: 5382  IP: [192.*.*.*]

DT_SINGLELINE or DT_VCENTER or DT_CENTER
ではないでしょうか。

編集    削除
ゆきお  2003-10-24 04:54:18  No: 5383  IP: [192.*.*.*]

にしのさん、通りすがりさん、こんばんは。
いつもお世話になっており恐縮です。
実行しました....大成功です。解決しました。
どうもありがとうございました。
追記:
検索については目を皿のようにして見ているつもりなのですが、
DrawTextについてもやっとこ「Windows API の DrawText 関数」
という言葉を見つけ、Wed上で「or」でつなげるコードを見つけた次第なの
ですが、ヘルプの見方が下手なのでしょうか?(多分そう思いますが)
キーワードで探したり、該当する文を選択してF1キーをしても出ない
ものがあるのです。
例えば[DT_CENTER]も出ないのですが、このような場合の検索の方法は
どうすればよろしいでしょうか?なるべく自分で問題解決しようと思っ
ているのですが検索しきれず、歯がゆい思いでおる次第です。

編集    削除
Halbow  2003-10-24 05:03:23  No: 5384  IP: [192.*.*.*]

Halbow です。

>例えば[DT_CENTER]も出ないのですが、このような場合の検索の方法は
>どうすればよろしいでしょうか?なるべく自分で問題解決しようと思っ
>ているのですが検索しきれず、歯がゆい思いでおる次第です。

わたしの場合は、WEB から MSDN Library

http://msdn.microsoft.com/library/default.asp

にアクセスして、左上のところに DrawText と入力して検索すると
すぐに見つかります。無料でインストールできる CoreSDK では、
自分のPCで同じことができます。

編集    削除
HOota  2003-10-24 05:05:17  No: 5385  IP: [192.*.*.*]

CDのJHELP野中にあるAPI32WH.HLPの中に、少ないですがあります。

編集    削除
Mr.XRAY  URL  2003-10-24 05:57:08  No: 5386  IP: [192.*.*.*]

>ているのですが検索しきれず、歯がゆい思いでおる次第です。

例えば,検索ではよくGoogleを利用すると思いますが,
これで,検索を日本語にして

StringGrid DrawText Delphi

で検索すると,2番目に
「Delphi FAQ: StringGridで右寄せ表示。」
というのがあります.これをみると今の質問の使えるコードらしきもの
があるようです.
検索をうまく利用するのも,また技術の一つかも知れません.

編集    削除
ゆきお  2003-10-24 19:10:08  No: 5387  IP: [192.*.*.*]

みなさまおはようございます。
色々教えていただきありがとうございました。
これからやってみようと思います。

編集    削除