Kannst ja alle genannten mal umsetzen und dann einen Usability Test unter freiwilligen
DP-Mitgliedern machen
Wäre ja wohl ein bißchen hart
Muss jetzt nur mal sehen wo ich meinen alten TollTip Text wieder aktiviere nach dem MouseWeel.
Das ist etwas kompliziert da ich ja kein up/down habe wie bei Buttons
Delphi-Quellcode:
WM_MOUSEWHEEL:
begin
if not MouseWeel then
begin
// hole den aktuellen ToolTip und speichere
// ihn in die Variable sOldTip
hToolTip := ToolTipData(0, 0);
sOldTip := SkinEngine.GetCTLText(hToolTip);
MouseWeel:= True;
end;
If wP > 0 then
direction := 1
else
direction := -1;
// Aktuelle Value einlesen
WasValue := SkinEngine.GetProperty(WinHandle, KNOB_WAS_VALUE);
if direction = 1 then
// Neue Value um eins incrementieren
tVal := WasValue + 1
else
// Neue Value um eins decrementieren
tVal := WasValue - 1;
// Poperties der aktuellen Value speichern
SkinEngine.SetProperty(WinHandle, KNOB_VALUE, tVal);
SkinEngine.SetProperty(WinHandle, KNOB_WAS_VALUE, tVal);
// Aktuelle Value an die Anwendung schicken
SendMessage(GetParent(WinHandle), WM_COMMAND,
MAKELONG(GetDlgCtrlID(WinHandle), 0), SkinEngine.GetProperty(WinHandle, KNOB_VALUE));
// Frame Aktualisieren
FFrame := tVal;
// Value ToolTip setzen
SetToolTipText(WinHandle, PWideChar(IntToStr(tVal)));
// XOffset Aktualisieren
UpdateFramePosition(WinHandle);
// Knob Neuzeichnen
SkinEngine.FUpdateWindow(WinHandle, False);
end;
Habe meinen alten ToolTip zwischen gespeichert.
Nur wo soll ich diesen wieder aktivieren ?? HEheheheee
Delphi-Quellcode:
// Setze den alten ToolTip für den Knob
SetToolTipText(WinHandle, PWideChar(sOldTip));
grrrrummel..
Hat sich erledigt
Delphi-Quellcode:
WM_KILLFOCUS:
begin
if MouseWeel then
begin
// Setze den alten ToolTip für den Knob
SetToolTipText(WinHandle, PWideChar(sOldTip));
MouseWeel:= False;
end;
end;
gruss