Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Bildschirmauflösung und -frequenz

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.07.2007, 16:06 Uhr
Suba Esel



Ich hab für meine Eltern folgendes Programm geschrieben (sie wollen für manche Websites 1024 x 768 haben, normalerweise aber 800 x 600, mir völlig unverständlich):


C++:
#include <iostream>
#include <windows.h>

int main()
{
    DEVMODE alte_werte, displaySettings;
    int width, height;

    EnumDisplaySettings(0, ENUM_REGISTRY_SETTINGS, &alte_werte);

    if(alte_werte.dmPelsWidth == 800 && alte_werte.dmPelsHeight == 600)
    {
        width = 1024;
        height = 768;
    }
    else if(alte_werte.dmPelsWidth == 1024 && alte_werte.dmPelsHeight == 768)
    {
        width = 800;
        height = 600;
    }
    else
    {
        std::cout << "Die Bildschirmauflösung betraegt weder 1024 x 768 noch 800 x 600!" << std::endl;
        std::cin.get();
        return 1;
    }

    memset( &displaySettings, 0, sizeof( displaySettings ) );

    displaySettings.dmSize = sizeof( displaySettings );
    displaySettings.dmPelsWidth = width;
    displaySettings.dmPelsHeight = height;

    displaySettings.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;

    ChangeDisplaySettings( &displaySettings, CDS_UPDATEREGISTRY);
}



Das Problem an der Sache ist, dass jedesmal beim Ausführen die Bildwiederholungsrate (Scheißwort^^) auf 60 Herz gestellt wird.
Hat wer ne Ahnung, wie man das Umstellen kann? Mit der DEVMODE - Struktur gehts nicht.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.07.2007, 18:13 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


displaySettings.dmDisplayFrequency und natürlich bei dmFields DM_DISPLAYFREQUENCY nicht vergessen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.07.2007, 18:56 Uhr
Suba Esel




Zitat von MSDN:

dmDisplayFrequency
Unsupported; set to zero.



Und unter den möglichen Werten für dmFields gibts kein DM_DISPLAYFREQUENCY.
Trotzdem benutzen?


EDIT:
Funktioniert, besten Dank.
--
Simon

Dieser Post wurde am 25.07.2007 um 19:02 Uhr von Suba Esel editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.07.2007, 19:20 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


VC6 MSDN?


Zitat von MSDN:

dmDisplayFrequency
Specifies the frequency, in hertz (cycles per second), of the display device in a particular mode. This value is also known as the display device's vertical refresh rate. Display drivers use this member. It is used, for example, in the ChangeDisplaySettings function. Printer drivers do not use this member.


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.07.2007, 22:02 Uhr
Suba Esel



OMG.... *schäm*.... Wer lesen kann ist echt klar im Vorteil

Zitat von Der Teil der MSDN - Seite wo ich geguckt hab:

Requirements
Windows CE 2.0 and later
Windows Mobile Version 5.0 and later



--
Simon

Dieser Post wurde am 25.07.2007 um 22:03 Uhr von Suba Esel editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: