新しいバージョンを買っているのに、移行せずに、
古いバージョンを使ってきたが、やっとXE2に着手。
最新は、10.2 Tokyo
XE5から、iOS/Androidの開発も出来るようになったので、
このバージョンまでは、保有しているが、
まだ、インストールすらしていない。
まだ、そこまで必要な案件がない・・・
***
TDBGridのカスタムドローで、センターリング・右寄せするには、
昔は、
with TDBGrid.canvas do begin case Column.Alignment of taRightJustify: // 右寄せ LeftMargin := Column.Width - TextWidth(bufStr) - 4; taCenter: // 中央寄せ LeftMargin := (Column.Width - TextWidth(bufStr)) div 2; end; TextRect(Rect, Rect.Left + LeftMargin, Rect.Top + 2, bufStr); end;
と、書いていたが、XE2にしてから、ずれるようになったので、
調べてみたところ、
今は、
with TDBGrid do begin case Column.Alignment of taRightJustify: // 右寄せ uFormat := DT_RIGHT or DT_SINGLELINE or DT_VCENTER; taCenter: // 中央寄せ uFormat := DT_CENTER or DT_SINGLELINE or DT_VCENTER; else uFormat := DT_LEFT or DT_SINGLELINE or DT_VCENTER; end; aRect := Rect; // ※DrawTextは変数渡し(RectはConst) InflateRect(aRect, 0, 0); DrawText(Handle, PChar(bufstr), Length(bufstr), ARect, uFormat); end;
と書くようだ。
また、XE2からスタイルテーマが選べるようになり、
黒塗りが出来るようになった。
しかし、上記カスタムドローをしちゃうと、背景が真っ白になったりするので、
Canvas.Font.Color :=TStyleManager.ActiveStyle.GetSystemColor(clWindowText) // ※clWindowTextを、clbtnface、clWindowなどに、変更
を、追加することで、各テーマの標準色を取ってきてくれる。
客様の反応は、わからないけど、これで納品予定(笑
白バックって、三原色を放つため、光量が強すぎて、目には刺激が強すぎるが、
その点、黒バックって、目に優しいんですよね♪
昔のDOSの画面は、真っ黒に緑文字だったのに、
紙は白だけど、ディスプレイも白じゃないとって、誰が決めたんだろう?
PS.
最近見つけた、Windowsの新機能 >> 夜間モード
https://support.microsoft.com/ja-jp/help/4027563/windows-10-set-your-display-for-night-time
ブルーライトカットで、目が一瞬で楽になるのが、わかります。
お試しあれ!。
TDBGridの右寄せ・センターリング @Delphi