AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES

Ein Thema von Oliver1983 · begonnen am 25. Nov 2009 · letzter Beitrag vom 26. Nov 2009
Antwort Antwort
Oliver1983

Registriert seit: 8. Mär 2006
Ort: Hamburg
43 Beiträge
 
Delphi XE Starter
 
#1

Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES

  Alt 25. Nov 2009, 11:43
Hi

ich habe probleme beim setzten der scrolllines fürs Mausrad!!! Eigentlich klappt es, aber es wird immer erst im Programm übernommen wenn dies neu gestartet wurde d.h. wenn ich den bildlauf von 3 auf 2 schritte verkleinere wird es erst übernommen wenn ich das programm neu gestartet habe.

hier der code
Delphi-Quellcode:
function GetNumScrollLines: Integer;
begin
  SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Result, 0);
end;

procedure SetNumScrollLines(i: Integer);
begin
  SystemParametersInfo(SPI_SETWHEELSCROLLLINES, 0, @integer(i), 0);
end;

procedure TForm4.Button2Click(Sender: TObject);
//Var
// dwResult: DWORD;
begin

  SystemParametersInfo(SPI_SETWHEELSCROLLLINES, integer(SpinEdit1.Value),0, SPIF_SENDCHANGE);
  SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETWHEELSCROLLLINES, 0);
  ShowMessage(IntToStr(GetNumScrollLines));

// SendMessageTimeout ( HWND_BROADCAST , WM_SETTINGCHANGE, 0, lParam (pChar ('Environment')), SMTO_ABORTIFHUNG, 5000, dwResult );


// SendMessage(ListBox1.Handle, WM_SETTINGCHANGE, integer(SystemParametersInfo(SPI_SETWHEELSCROLLLINES, integer(SpinEdit1.Value),0, 0)), 0);
// SetNumScrollLines(2);
end;
habe schon viel im netz gesucht aber keine lösung gefunden

hoffe mir kann jmd. helfen

gruss olli
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES

  Alt 25. Nov 2009, 14:17
So aus der Hüfte geschossen würde ich ein Application.ProcessMessages vor dem ShowMessage(IntToStr(GetNumScrollLines)) machen.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Oliver1983

Registriert seit: 8. Mär 2006
Ort: Hamburg
43 Beiträge
 
Delphi XE Starter
 
#3

Re: Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES

  Alt 26. Nov 2009, 00:07
Zitat von chaosben:
So aus der Hüfte geschossen würde ich ein Application.ProcessMessages vor dem ShowMessage(IntToStr(GetNumScrollLines)) machen.
Das bringt leider auch nichts Dass einzige was ich sehe ist das die Fenster alle neu aufgebaut werden, halt auch so wenn man in der Systemsteuerung es ändert...

ich habe folgendes mal probiert wenn ich in der Systemsteuerung es ändere geht das auch erst wenn ich mein Programm neu starte, Windows Explorer sowie Firefox haben keine Probleme damit

woran kann das liegen?

gruss olli
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES

  Alt 26. Nov 2009, 01:37
Wahrscheinlich reagieren beide Programme auf die Nachricht MSDN-Library durchsuchenWM_SETTINGCHANGE.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Oliver1983

Registriert seit: 8. Mär 2006
Ort: Hamburg
43 Beiträge
 
Delphi XE Starter
 
#5

Re: Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES

  Alt 26. Nov 2009, 01:46
Zitat von Luckie:
Wahrscheinlich reagieren beide Programme auf die Nachricht MSDN-Library durchsuchenWM_SETTINGCHANGE.
und wie kann ich es machen das auch mein Programm drauf reagiert?
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Problem bei SystemParametersInfo SPI_SETWHEELSCROLLLINES

  Alt 26. Nov 2009, 02:13
In dem du sie in deiner Delphi-Referenz durchsuchenWndProc abfängst und entsprechend reagierst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 Uhr.
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