アプリケーションのようにWindowsエクスプローラーでアイテムの背景色を変更することはできXentient Labels
ますか?Windows7のDelphiXE2からそうすることは可能ですか?
2 に答える
WindowsエクスプローラのリストビューはWindowsXPの場合とは異なり、 notを使用するため、Windows7ではこれを行うことはできません。クラスコントロールはリストビューメッセージをリッスンしないため、Windows XPの場合のように、マクロを使用してテキストの色を変更することはできません。DirectUIHWND
SysListView32
DirectUIHWND
ListView_SetTextBkColor
次の簡単なテストでそれを確認できます。フォームに編集ボックスとボタンを配置しましょう。その編集ボックスに、Windowsエクスプローラーのリストビューコントロール(Spy ++などで取得)へのハンドルを入力し、ボタンを押して次のコードを実行します。
uses
Winapi.CommCtrl;
procedure TForm1.Button1Click(Sender: TObject);
var
ListViewHandle: HWND;
begin
ListViewHandle := StrToInt(Edit1.Text);
ListView_SetTextBkColor(ListViewHandle, $0000CCFF);
end;
このWindows7のSpy++スクリーンショットは、エクスプローラーのリストビューのクラス名を示しています(Windows XPではSysListView32
、標準のリストビューメッセージで制御可能であり、DirectUIHWND
それらに反応しません)。
テキストに色を付けることはできませんが、TortoiseSVN / CVS / Git / Groove / Dropbox/etcのようなオーバーレイを追加することはできます。します。