Also nochmal.
Es handelt sich NICHT um den Regler von Windows. Ich habe eine EIGENE Form wo eine TrackBar drauf ist, und die angezeigt wird. Zumal ich nicht wüßte warum es auf 32bit laufen soll. Bevor die frage aufkommt: Die Form heißt VolFrm. Es ist wohl so wie jbg geschrieben hat. Eventuell liest du mal von oben das 4. Post. Hier in dem Beispiel missachte ich das False von GetIconRect. Wenn man rein tracet dann sieht man das MoveNext mit False zurückkommt. Der findet "sein" Icon nicht.
Eigentlich brauchen wir uns nicht weiter daran "aufzuhängen". Es geht halt nicht auf 64bit wenn man ein 32bit Prg erzeugt.
Deswegen dachte ich, jemand kennt eventuell eine combo die das kann. Oder hat einen Codeschnipsel wie man die Pos. findet.
Gruß
Delphi-Quellcode:
procedure TMainFrm.TrayIconClick(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
TPos :TRect;
i :Integer;
begin
TrayIcon.GetIconRect(TPos);
VolFrm.Top:=TPos.Top-(VolFrm.Height+3);
i:=TPos.Right-TPos.Left;
VolFrm.Left:=(TPos.Left+(i div 2))-(VolFrm.Width div 2);
VolFrm.Visible:=True;
VolFrm.SetFocus;
ForceForegroundWindow(VolFrm.Handle);
end;