Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   problem mit den messages der trackbar (https://www.delphipraxis.net/117150-problem-mit-den-messages-der-trackbar.html)

lbccaleb 12. Jul 2008 18:39


problem mit den messages der trackbar
 
hy there,

ich hab nen problem mit einer trackbar die per winapi (nonvcl) erzeugt wurde, der idc der trackbar ist idc_trackbar2!
komischerweise wird beim verschieben des reglers die funktion nicht ausgeführt..


die messages fang ich so ab:
Delphi-Quellcode:
    WM_HSCROLL:
      begin;
        case LoWord(wParam) of
          TB_THUMBTRACK,
          TB_TOP,
          TB_BOTTOM,
          TB_LINEUP,
          TB_LINEDOWN,
          TB_PAGEDOWN,
          TB_PAGEUP:
            begin;
              //hier wird noch alles bearbeitet!
              case LoWord(lParam) of
                IDC_TRACKBAR2:
                  begin;
                    if assigned(BasicAudio) then BasicAudio.put_Balance(HiWord(wParam));
                    //das wird nicht ausgeführt nur wieso??
                  end;
              end;
            end;
        end;
      end;
ich versteh dasnicht, wo liegt der fehler?? hab ich gerade gurken auf den augen?? :lol:
oder hab ich was vertauscht??

1234588 12. Jul 2008 18:43

Re: problem mit den messages der trackbar
 
hast du mal nachgeschaut, was mit WM_HSCROLL gesendet wird?
im lParam argument wird jedenfalls das handle des controls uebertragen und nicht die id des controls. du kannst imho ja anstatt der constrol id das handle benutzen.

Delphi-Quellcode:
case lParam of
  hTrackbar1:;
  hTrackbar2:;
end;
;o)

lbccaleb 12. Jul 2008 18:45

Re: problem mit den messages der trackbar
 
wenn ich das andle abfrage, kommt ne fehler meldung const expression expectet! will also ne konstante haben..

1234588 12. Jul 2008 18:50

Re: problem mit den messages der trackbar
 
stimmt, daran dachte ich nicht.
dann eben if lParam = handle then .. :o)

optional koenntest du auch per sub classing die message abfangen. sollte auch funktionieren

lbccaleb 12. Jul 2008 18:53

Re: problem mit den messages der trackbar
 
hab ich jetzt so gemacht:

Delphi-Quellcode:
              if lparam = hwndTrackBar2 then
und dann kommt wieder fehlermeldung, konstante erforderlich, ich versteh das nicht??!! :gruebel:

1234588 12. Jul 2008 18:55

Re: problem mit den messages der trackbar
 
kommt bei genau dieser zeile eine fehlermeldung?

lbccaleb 12. Jul 2008 18:57

Re: problem mit den messages der trackbar
 
ohh ich habs jetzt hinn bekommen, hatte vergessen ne zeile auszuklammern!!

:wall: :wall: :wall:

lbccaleb 12. Jul 2008 19:58

Re: problem mit den messages der trackbar
 
noch ne frage zur trackbar, ich hab den bereich festgelegt auf -5000 bis 5000 und die position liegt auf 0, also in der mitte!
wenn ich nun mit der maus den regler bewege, komme ich danach mit selbigen aber nicht mehr auf die mitte sonder auf irgendeine andere zahl daneben, gibt es eine möglich keit das so zu machen das der regler auf jedenfall wieder bei 0 (also die mitte) einrastet??

1234588 12. Jul 2008 20:09

Re: problem mit den messages der trackbar
 
http://msdn.microsoft.com/en-us/library/bb760236(VS.85).aspx
:)

lbccaleb 12. Jul 2008 20:21

Re: problem mit den messages der trackbar
 
wie genau verwende ich das??

ich habs jetzt so gemacht:

Delphi-Quellcode:
          SendMessage(hwndTrackBar2, TBM_SETTICFREQ, 0, 0);
nur da passiert nichts bei mir...

dann wollte ich es so machen, nur das geht nicht weil es dann einen bereichsfehler gibt:

Delphi-Quellcode:
          SendMessage(hwndTrackBar2, TBM_SETTICFREQ, 0, MAKELONG(-100, 100));

was genau macht denn diese funktion?? das ist mir nicht so ganz einleuchtend aus der msdn??!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz