wo SystemParametersInfo in MFC einfügen?

Hans Hansen

Grünschnabel
Hallo Leute,

hab da mal eine kleine frage, Ich habe mir ein kleines Programm gebastelt das immer im Vordergrund ist, jetzt wollte ich es in eine Toolbar ändern, so das sich alle anderen Fenster an die Toolbar anpassen. (ähnlich des ms office shortcut...)

Dazu habe ich SystemParametersInfo() gefunden, da ich jetzt von der Materie nicht so die Ahnung habe, frage ich mich wo und wie muss ich das einfügen.
 
Mit SPI_SETWORKAREA geht das. Nicht vergessen, beim Beenden wieder zurücksetzen!

Das kannst du an sich aufrufen, wo du willst. Am sinnvollsten, wenn dein Fenster erstellt ist (OnCreate oder OnInitDialog bei einem Dialog).
 
habe folgenden Code gefunden:

Code:
                workarea.top = 26;
	workarea.left = 0;
	workarea.right = GetSystemMetrics(SM_CXSCREEN);
	workarea.bottom = GetSystemMetrics(SM_CYSCREEN) - 25;

	SystemParametersInfo(SPI_SETWORKAREA, NULL, &workarea, NULL);

Das wirft mir mehrere Fehlermeldungen aus
error C2143: Syntaxfehler: Es fehlt ';' vor '.'
error C2501: 'workarea': Fehlende Speicherklasse oder Typspezifizierer
usw.

zum Testen habe ich mal folgenden Code eingefügt:
Code:
    RECT r = {0, 0 , 768, 700}; 

    SystemParametersInfo(SPI_SETWORKAREA, 0, &r, SPIF_SENDCHANGE);

Da gibt es folgende Fehlermeldung:
error C2501: 'SystemParametersInfoA': Fehlende Speicherklasse oder Typspezifizierer

Ich gehe jetzt mal davon aus das ich noch irgendeine Datei mit einbinden muss, um systemparametersinfo() benutzen zu können, nur welche?
 
Da sollte windows.h laut MSDN ausreichen, bei MFC sollte es stdafx.h sein.
Im ersten Fall hast du vergessen, den Typ von workarea mit RECT festzulegen.
 
Zurück