Autor Beitrag
phorax
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 11.05.09 12:29 
Hallo :)

Ich versuche ein Programm zu schreiben, welches das hässliche gepunktete Auswahlrechteck auf dem Desktop durch ein schönes durchscheinendes ersetzt. Dies ist der Code:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
program DeskTrns;

{$APPTYPE CONSOLE}

uses
  Windows, CommCtrl;

var
  LVBkImage: TLVBkImage;
  ExplorerHandle: THandle;

const
  LVS_EX_DOUBLEBUFFER = $10000;

begin
  FillChar(LVBkImage, SizeOf(LVBkImage), 0);
  with LVBkImage do
  begin
    ulFlags := LVBKIF_SOURCE_URL or LVBKIF_STYLE_NORMAL;
    pszImage := PChar('E:\Bilder\Hintergründe\Pazifik Blau.jpg');
    xOffsetPercent := 0;
    yOffsetPercent := 0;
  end;

  ExplorerHandle := FindWindowEx(FindWindowEx(FindWindow('Progman'nil), 0'SHELLDLL_DefView'nil), 0'SysListView32'nil);
  OpenProcess(PROCESS_VM_OPERATION and PROCESS_VM_WRITE and PROCESS_VM_READ, False, GetWindowThreadProcessID(ExplorerHandle));

  ListView_SetExtendedListViewStyle(ExplorerHandle, LVS_EX_DOUBLEBUFFER);
  ListView_SetBkImage(ExplorerHandle, @LVBkImage);
  ListView_SetTextBkColor(ExplorerHandle, CLR_NONE);
end.


Das Auswahlrechteck sieht schick aus...Hintergrund bleibt aber schwarz. Ich glaube, es könnte an WM_ERASEBACKGROUND liegen. Irgendwelche Tips?

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt