Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#18

AW: Knob value wie feiner abstimmen

  Alt 6. Mai 2011, 03:35
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

Geändert von EWeiss ( 6. Mai 2011 um 03:59 Uhr)
  Mit Zitat antworten Zitat