有沒有辦法在Windows 7中的Windows資源管理器中更改項目的文本背景顏色?
是否可以更改Windows資源管理器中項目的背景顏色,如Xentient Labels
應用程序所做的操作?在Windows 7中可以使用Delphi XE2嗎?
有沒有辦法在Windows 7中的Windows資源管理器中更改項目的文本背景顏色?
是否可以更改Windows資源管理器中項目的背景顏色,如Xentient Labels
應用程序所做的操作?在Windows 7中可以使用Delphi XE2嗎?
這無法做到這一點在Windows 7中,因爲Windows資源管理器的列表視圖中使用DirectUIHWND
不SysListView32
,因爲它是在Windows XP中。 DirectUIHWND
類控件不會偵聽列表視圖消息,因此您不能像使用Windows XP一樣使用ListView_SetTextBkColor
宏來更改文本背景顏色。
通過以下簡單的測試,您可以驗證它。讓我們在窗體上有一個編輯框和按鈕。在編輯框中輸入手柄到Windows資源管理器的列表視圖控件(獲得,如間諜++)和按鈕的按下運行下面的代碼:
uses
Winapi.CommCtrl;
procedure TForm1.Button1Click(Sender: TObject);
var
ListViewHandle: HWND;
begin
ListViewHandle := StrToInt(Edit1.Text);
ListView_SetTextBkColor(ListViewHandle, $0000CCFF);
end;
此間諜++從Windows 7的屏幕截圖顯示了瀏覽器的列表中的類名查看(在Windows XP中,SysListView32
可由標準列表視圖消息控制,DirectUIHWND
不會對它們做出反應)。
現在查看來自問題的圖片,['ListView_SetTextBkColor'](http://msdn.microsoft.com/en-us/library/windows/desktop/bb775114%28v=vs.85%29.aspx)宏將不會是正確的。它更改列表視圖中所有項目的顏色背景。但是它仍然不會改變Windows 7資源管理器中的列表視圖不會偵聽列表視圖消息的事實,因此在這種情況下無需搜索正確的消息。 – TLama
+1不錯答案TLama :) – 2012-05-21 21:46:48
您不能爲文本着色,但可以添加疊加層,如TortoiseSVN/CVS/Git/Groove/Dropbox /等。確實。
鏈接:訪問禁止,重新加載PLZ到其他任何圖像主機 –
如果鏈接被禁止,只需點擊地址欄上的禁止錯誤的地址欄上,現在它會加載。禁止鏈接通常會檢查您發送的位置,通過再次按下地址欄上的輸入,您可以欺騙網站,讓您認爲您直接從網站訪問鏈接:) – 2012-05-21 14:31:44
鏈接被替換... – DiGi
我若爲王,所有的文件列表將永遠是黑色和白色,等寬文本。但這只是我,我猜;) – paulsm4
正如Hans Passant所說['here'](http://social.msdn.microsoft.com/Forums/en-SG/netfxbcl/thread/0c206a47-64ec-47b5-a1f9- c7a1d5ad1194)它不能在Windows 7中工作。您可以找到Windows資源管理器列表視圖的句柄,並將其用作['ListView_SetTextBkColor'](http://msdn.microsoft.com/en-us/library /windows/desktop/bb775114%28v=vs.85%29.aspx)宏。 – TLama
如果您可以在其中添加一些閃爍的文字,那將會很棒 –