Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Probleme bei Vollbildmodus

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 < [ 2 ]
000
14.07.2003, 13:41 Uhr
Oliver
S2-Pixelgeneral


Hallo,

So ich weiß jetzt wie ich ins Vollbildmodus gehe, schön und gut, aber ich hab noch 2 Probleme.

1. Das flackert immer übelst obwohl ich 85 Hertz eingestellt habe (dmScreenSettings.dmDisplayFrequency=85)

2. Was muss ich in der Funktion CreateWindowEx einstellen, damit ich ein "Window" ohne jegliche Ränder und ohne Titelleiste, ohne Max und Minbox usw.

Wenn man so ein Spiel spielt, sind ja auch keine Ränder zu sehen.
Oder muss ich da ganz was anderes machen???

Oli
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.07.2003, 14:06 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


bei CreateWindowEx musste für "ohne Rand" folgendes einstellen:


C++:
dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
dwStyle=WS_POPUP;



Achtung! Man hat dann KEIN Systemmenü, d.h man muss drauf achten das man es auch beenden kann

Wenn es flackert kann es sein das du kein DoubleBuffering benutzt, also

Backgroundbuffer << Zeichnungen

und dann alle soundsoviel ms

Foregroundbuffer << Backgroundbuffer
Backgroundbuffer.Clear();

(Die Variablennamen sind natürlich nicht so usw, nur zu Veranschaulichung)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.07.2003, 14:27 Uhr
Oliver
S2-Pixelgeneral


Nein, ich mein nicht Flackern in dem Sinne, sondern der Bildschirm flackert, mir tun die Augen weh.
Und das nur, wenn ich in das Vollbildmodus gehe, wenn ich wieder raus gehe, gehts (schön angenehm )
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.07.2003, 14:34 Uhr
Oliver
S2-Pixelgeneral


Ich hab jetzt rausbekommen, dass er auf 60 Hertz immer umschaltet, warum???
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.07.2003, 14:57 Uhr
~christian
Gast


Wie gehst du denn in den Vollbildmodus?? Mittels DirectX?

Grüße
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.07.2003, 19:00 Uhr
Oliver
S2-Pixelgeneral


Wies Flo erklärt hat also so:


C++:

    DEVMODE dmScreenSettings;
memset(&dmScreenSettings,0,sizeof(dmScreenSettings));
dmScreenSettings.dmSize       = sizeof(dmScreenSettings);
dmScreenSettings.dmPelsWidth  = 1024;
dmScreenSettings.dmPelsHeight = 768;
dmScreenSettings.dmBitsPerPel = 32;
dmScreenSettings.dmFields     = DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFLAGS;
dmScreenSettings.dmDisplayFrequency=85;
        
if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL)
{
    MessageBox(NULL,"The Requested Fullscreen Mode Is Not Supported by Your Videocard", "ERROR", MB_OK|MB_ICONSTOP);
    MessageBox(NULL,"Program Will Now Close.", "ERROR", MB_OK|MB_ICONSTOP);
    return 0;
}


--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.07.2003, 20:33 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,
vielleicht unterstützt dein Bildschirm/Grafikkarte den Modus

1024*768 bei 85Hz nicht! Dann stellt er automatisch auf 60Hz! Im Notfall neusten NVidia-Detonator Treiber runterladen (falls deine Graka einen Nvidia Chip hat)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
15.07.2003, 09:20 Uhr
Oliver
S2-Pixelgeneral


Nein, sonst ist er ja auch immer in diesen Modus. Nur wenn ich das Spiel starte, stellt er einfach auf 60 Hertz um. Und warscheinlich macht er das immer, auch wenn ich was anderes eingebe (70,80,90,...100000000000). Als würde er das Parameter einfach ignorieren.
Und wenn ich wieder das Spiel beende, würds wieder normal.

PS: Auch bei 800*600 flackert (flimmert) er auch.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
15.07.2003, 09:38 Uhr
Tommix



Hallo,
MSDN:

Zitat:

Flag Meaning
DM_BITSPERPEL Use the dmBitsPerPel value.
DM_PELSWIDTH Use the dmPelsWidth value.
DM_PELSHEIGHT Use the dmPelsHeight value.
DM_DISPLAYFLAGS Use the dmDisplayFlags value.
DM_DISPLAYFREQUENCY Use the dmDisplayFrequency value.
DM_POSITION Windows 98, Windows NT 5.0 and later: Use the dmPosition value.



Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
15.07.2003, 10:08 Uhr
Oliver
S2-Pixelgeneral


Das hat ich ja eingestellt, siehe oben auf 85 Hertz. Aber er ignoriert es einfach
Ich hab ja auch schon in der msdn geguckt.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: