喫茶XRAYトップページ

[スレッド全体
]

[5233] plExplorerFolderTreeにて(何回目だ? 苦笑)返信 削除
2011/9/12 (月) 00:39:02 Sara
Mr.XRAYさん こんばんわ。

Delphi Xe2で標準でスキンの変更ができるようになったので、
機能を取り入れてみたところ・・・plExplorerFolderTreeの
背景の色だけが変わらなくて浮いて見えます・・・(^^;

背景色を変更する方法はございますでしょうか?
(あと、Fontの色も・・・)


概ねXE2にも慣れてきたのですが、作成中のプロジェクトで挙動不審な
ものがいくつかあって、困っています・・・(^^;

例えば、PageControlに2ページ追加して、それぞれにActionToolBarを
置き、ActionManagerで作ったActionを、それぞれのページに配置して
PageControlのOnChangeイベントに何か命令文を書くと・・・
ActionToolBar上のボタンがページ切り替え時に正常に描画されない・・・

OnChangingイベントに同じ命令を書いても正常に描画されるのですが・・・

バグか?と思い、新規プロジェクトで同じように配置して実行すると、
正常に描画される・・・不思議だ・・・

作成中のプロジェクトに追加でPageControlを配置して同じように
しても、やはり、OnChangeイベントを書くと正常に描画されない・・・

ちなみにOnChangeに書いた命令文は Caption := 'Change'; だけ・・・

該当フォームだけ、新規に作り直したほうが良いかな・・・orz

[5245] Re:plExplorerFolderTreeの背景とFontの色返信 削除
2011/9/14 (水) 10:56:20 Mr.XRAY
▼ Saraさん。ゴメンなさい。今コードをみたら、

> 背景色を変更する方法はございますでしょうか?
> (あと、Fontの色も・・・)


未確認ですが、背景は、

function TplExplorerFolderTree.PrePaint(hdc: HDC; var prc: TRect;
  var plres: LRESULT): HRESULT;

のHDCに描画すれば出来るかも知れません。多分TRectが背景のRectじゃ
ないかと思います。Fontの色の方は、

function TplExplorerFolderTree.ItemPrePaint(hdc: HDC; var prc: TRect;
  var pnstccdItem: TNSTCCustomDraw; var pclrText, pclrTextBk: COLORREF;
  var plres: LRESULT): HRESULT;
var
  pShellItem      : IShellItem;
  pShellItemArray : IShellItemArray;
  pidl            : PItemIDList;
  pFullPath       : array [0..MAX_PATH - 1] of Char;
begin
  if (pnstccdItem.uItemState and CDIS_FOCUS) > 0 then begin
    pclrText := RGB(200, 0, 0);
    plres    := CDRF_NEWFONT;
  end;

ここでは、CDIS_FOCUSの時に色をRGBで設定していますから、それ以外のを
設定すれば可能かも知れません。
ダメだったらゴメンなさい。
うまくいくようでしたら、プロパティに追加しますか…

[5246] Re2:plExplorerFolderTreeの背景とFontの色返信 削除
2011/9/14 (水) 11:06:59 Mr.XRAY
考えてみれば、このTplExplorerFolderTree、TPanelに描画していますが、
直接親のコントロールに表示すればいいんですよね。
う〜ん、バグというより誤字脱字の類ですね。これは。

インターフェイスには直接表示のコントロールがない
      ↓
それじゃ、TPanel使おう

思いこみは怖い。自分自身にあきれました。
またまたSaraさんの発言で気づかされました。
もしかしてSaraさんって、知っていてわざと私を突いていのかしらん(笑)

他にもこんなサンプルコードがいっぱいあるんだろうな。ふぅ(ため息)

[5247] Re3:plExplorerFolderTreeの背景とFontの色返信 削除
2011/9/14 (水) 21:03:22 Sara
▼ Mr.XRAYさん

> 思いこみは怖い。自分自身にあきれました。
> またまたSaraさんの発言で気づかされました。
> もしかしてSaraさんって、知っていてわざと私を突いていのかしらん(笑)

いえいえ、まったく 深く考えていません(^^;
自分のやりたいことだけを素直に質問しているだけです(爆)

ソースを見て自分の手に負えそうであれば、いじり倒すんですが・・・
不明なコードが多いと、その気力が・・・でてこない・・・(^^;
んで、質問すると・・・完全な回答が得られなくてもヒントがあれば・・・
また、いじり倒す・・・でも、できないと、やっぱり質問・・・(^^;

そんな感じです(^^;;

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82