Thema: Delphi Frage zu SetWindowLong

Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Frage zu SetWindowLong

  Alt 7. Jan 2010, 13:07
Wenn du ein Bit im Windows Style setzen möchtest, dann sollten die anderen Bits ja nicht verändert werden.
Deshalb müssen die bestehenden Bits "verodert" werden:
Delphi-Quellcode:
WStyle := GetWindowLong(hTaskbar, GWL_STYLE);
SetWindowLong(hTaskBar, GWL_EXSTYLE, WStyle or WS_EX_NOACTIVATE);
Das Rücksetzen sieht dann so aus:
Delphi-Quellcode:
WStyle := GetWindowLong(hTaskbar, GWL_STYLE);
SetWindowLong(hTaskBar, GWL_EXSTYLE, WStyle and not WS_EX_NOACTIVATE);
PS: ich sehe gerade, dass da einmal GWL_STYLE beim Lesen und GWL_EXSTYLE beim Schreiben steht.
Das passt so nicht zusammen.
Beim Lesen müsste auch GWL_EXSTYLE verwendet werden.
fork me on Github
  Mit Zitat antworten Zitat