AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi SetSysColors gibt Fehler wieder
Thema durchsuchen
Ansicht
Themen-Optionen

SetSysColors gibt Fehler wieder

Ein Thema von Sebastian Nintemann · begonnen am 17. Aug 2002 · letzter Beitrag vom 18. Aug 2002
Antwort Antwort
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#1

SetSysColors gibt Fehler wieder

  Alt 17. Aug 2002, 22:55
Hallo, mittels SetSysColors kann ich die Windows-Farben verändern.
Die angegebenen Farben werden auch verändert, ich kriege aber immer einen Fehlecode zurück.

Code:
[b]var[/b]
  A: [b]Array[/b][1..3] [b]of[/b] integer;
  B: [b]Array[/b][1..3] [b]of[/b] TColor;
[b]begin[/b]
  A[1] := COLOR_SCROLLBAR;
  A[2] := COLOR_MENU;
  A[3] := COlOR_BACKGROUND;

  B[1] := clBLue;
  B[2] := clYellow;
  B[3] := clGreen;

  [b]if[/b] SetSysColors(3,A,B) [b]then[/b] Caption := SysErrorMessage(GetLastError);
[b]end[/b];
verändert die angegebenen Farben, ich krieg aber immer den Fehler 'Der Parameter stimmt nicht'.
Weiß einer warum?
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#2
  Alt 17. Aug 2002, 23:35
Also bei mir tuts, Win XP!
Was für ein OS hast du den???
Und was wird bei Scrollbar verändert ich merk nix???
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#3
  Alt 18. Aug 2002, 02:23
Hallo!
Ich hab WinMe drauf.
Also mit der Scrollbarfarbe ists etwas merkwürdig, ich sehe zwar keine blaue Farbe auf irgendeiner Scrollbar, die Farbvariable wird aber anscheinend richtig verändert, denn

1. Ergibt einlesen mit GetSysColor(COLOR_SCROLLBAR) die eingestellte Farbe, und
2. Zeigt der Anzeige-Dialog von Windows die Scrollbar blau an. - fragt sich blos warum sich dir Programme nicht dran halten

Gruß Sebastian
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#4
  Alt 18. Aug 2002, 10:32

hmm...

1. Ich schaffe es nicht SetSysColors auzurufen ohne dass sie selbst sich als fehlgeschlagen ansieht. Es funktioniert aber!

2. COLOR_SCROLLBAR ist rätselhaft. Im PSDK steht kein Hinweis das COLOR_SCROLLBAR eine Sonderrolle spielt. Verändere ich sie, wird nirgeds die neue Farbe angezeigt, außer im Vorschau-Fenster von dem Windows-Anzeige-Dialog, in diesem selbst gibt es keine Möglichkeit die Scrollbarfarbe zu ändern, nur die größe...

Gruß Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#5
  Alt 18. Aug 2002, 11:41
Also ich hab die Procedure an einem Button und bei ersten mal geht es meist bzw. es tritt ein Fehler auf aber alles wird verändert, und bei zweiten mal geht alles wie am Schnürchen!

Vielleicht gibt Lasterror einen Fehler davor aus der garnicht durch das Verändern der Farben verursacht wurde!
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#6
  Alt 18. Aug 2002, 11:45
Wenn ich in eine Normale Anwendung ins OnCreat
Code:
caption := SysErrormessage(GetLastError);
einbinde zeigt er auch einen Fehler an!!!
Hier: Das Handle ist ungültig
Und wenn ichs bei ButtonOnClick dann kommt: Das Fenster hat keine Bildlaufleiste
aber nach dem zweiten Klick, wenn ich das Fenster bewegt habe: Der Vorgang wurde erfolgreich beendet
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#7
  Alt 18. Aug 2002, 12:47
Hi Grotesquery,

ich habs noch nicht ausprobiert, aber ich würe sagen, dass du ein array[0..2] und nicht [1..3] nehmen musst, weil unter C++ die Arrays so erstellt werden.

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#8
  Alt 18. Aug 2002, 16:36
Hallo!

Das sdk sagt:
Zitat:
If the function succeeds, the return value is a nonzero value.
Ich schreibe:
Zitat:
if SetSysColors(...) then caption := SysErrorMessage(GetLastError);

*vor den kopf hau*

Es muss natürlich ein not nach das if, ein nonzero-Wert ist natürlich immer true.

Oder sehe ich da jetzt was falsch?
Ich verstehe jetzt nicht wieso es ohne das not bei FuckRacism ohne Fehlermeldung geklappt hat...

Gruß Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#9
  Alt 18. Aug 2002, 16:53
Ist mir auch aufgefallen aber ich dachte das SetSysColors gar keinen Fehler bzw. nicht nicht True ist
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#10
  Alt 18. Aug 2002, 16:58
Nicht nicht true? lol

Also das scheint jetzt (bei mir jedenfalls) zu funktionieren. Bekommst du denn auch mal false zurück? Ich hab jetzt mal versucht die Funktion fehlschlagen zu lassen, keine Chance, ich krieg immer 1 (true) zurück.

Und da wäre ja noch das merkwürdige verhalten von der Scrollbarfarbe...

Gruß Sebastian
  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 18:50 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