Miten saatiinkaan näytön leveys C++:lla?
Jotenkin mielessä kaikuu, mutta ei tule mieleen... :/
C++ ei itsessään sisällä mitään tukea millekään näytölle, koska eihän C++ ohjelma ei vaadi näyttöä toimiakseen. Grafiikkakirjastot SDL jne. toki sisältävät tiedot näytön (siis piirtoalueen) koosta.
Löytyi tämmöne:
SDL_VideoInfo* info = SDL_GetVideoInfo(); width = info->current_w; height = info->current_h; This only works in SDL 1.2.11 or higher, I believe.
Toimiiko noin? :o
ankzilla kirjoitti:
Löytyi tämmöne:
SDL_VideoInfo* info = SDL_GetVideoInfo(); width = info->current_w; height = info->current_h; This only works in SDL 1.2.11 or higher, I believe.Toimiiko noin? :o
Kokeile?
En saa toimimaan en...
Oon koittanu noiden muiden kyssäreitä Googlen avulla lueskella, mutta ei aukene. :(
Nyt pitää kyllä härskisti kysyä suoraan teiltä putkalaisilta, ku ei Google neuvo. :(
No oletko ensinnäkään asentanut SDL:ää? Ja mitä yrität tehdä?
Kyllä tällainen toimii:
#include <iostream> #include <SDL.h> int main() { if (SDL_Init(SDL_INIT_VIDEO) < 0) { std::cerr << "Oops." << std::endl; return -1; } SDL_VideoInfo* info = (SDL_VideoInfo*)SDL_GetVideoInfo(); std::cout << "Näytön resoluutio on " << info->current_w << "x" << info->current_h << std::endl; SDL_Quit(); return 0; }
Rasenger kirjoitti:
No oletko ensinnäkään asentanut SDL:ää? Ja mitä yrität tehdä?
Olen ehkä asentanut SDL:n.
Yritän saada selville näytön leveyden SDL:llä. Eikös se muka näkynyt tuossa ylempänä?
Edit: Legu, mikä versio SDL:stä sulla on?
Edit2: Joo, nyt sain toimimaan. :) Kiitos, Legu!
ankzilla kirjoitti:
Rasenger kirjoitti:
No oletko ensinnäkään asentanut SDL:ää? Ja mitä yrität tehdä?
Olen ehkä asentanut SDL:n.
Yritän saada selville näytön leveyden SDL:llä. Eikös se muka näkynyt tuossa ylempänä?
Ehkä asentanut? No jos et siitäkään ole varma, niin turha tuotakaan on yrittää saada toimimaan ennen ku SDL varmasti toimii.
ankzilla kirjoitti:
Yritän saada selville näytön leveyden SDL:llä. Eikös se muka näkynyt tuossa ylempänä?
Ihan tulevaisuuden varalle, kannattaa kertoa vähän tarkemmin mitä yrittää saavuttaa. Nyt sinulle ei voi kertoa tavoitteeseesi parhaiten sopivaa tapaa, kun et kerro yhtään missä yhteydessä näytön leveyttä tarvit. Vähän kuin kysyisi mistä löytyy auton öljynsuodatin ja miten se vaihdetaan, kertomatta auton merkkiä ja mallia.
int screen_width = GetSystemMetrics( SM_CXSCREEN ); int screen_height = GetSystemMetrics( SM_CYSCREEN );
Aihe on jo aika vanha, joten et voi enää vastata siihen.