タイトル通りなんですが、縦方向に中寄せしたいんですが、うまくいきません。
DrawTextEx(Handle,PChar(ExportStr),Length(PChar(ExportStr)),FieldRect,DT_VCENTER or DT_CENTER or DT_WORDBREAK,nil);
DT_SINGLELINEのときしか、DT_VCENTERは機能しないんでしょうか?
こんにちは,Mr.XRAYです.
>DT_SINGLELINEのときしか、DT_VCENTERは機能しないんでしょうか?
と,MSDNには書いてありますね.
http://msdn.microsoft.com/ja-jp/library/cc428478.aspx
こんなとこが参考になりませんか?
[DrawTextの文字列について]
https://www.petitmonte.com/bbs/answers?question_id=3330
早速ありがとうございます。
下記コードでうまくいきました。
引数頼みだけではできないんですね。
OffsetY := ((RectB - RectT) - DrawText(Handle,PChar(ExportStr),Length(PChar(ExportStr)),FieldRect,DT_WORDBREAK + DT_CALCRECT)) div 2;
OffsetRect(FieldRect,0,OffSetY);
DrawTextEx(Handle,PChar(ExportStr),Length(PChar(ExportStr)),FieldRect,DT_CENTER or DT_WORDBREAK,nil);
ツイート | ![]() |