Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Näytön leveys

Sivun loppuun

ankzilla [01.11.2009 17:28:58]

#

Miten saatiinkaan näytön leveys C++:lla?
Jotenkin mielessä kaikuu, mutta ei tule mieleen... :/

Teuro [01.11.2009 17:44:38]

#

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.

ankzilla [01.11.2009 18:00:23]

#

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

RQ [01.11.2009 18:16:37]

#

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?

ankzilla [01.11.2009 18:52:19]

#

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. :(

Rasenger [01.11.2009 18:58:54]

#

No oletko ensinnäkään asentanut SDL:ää? Ja mitä yrität tehdä?

Legu [01.11.2009 19:01:29]

#

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;
}

ankzilla [01.11.2009 19:01:56]

#

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!

RQ [01.11.2009 19:03:31]

#

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.

Rasenger [01.11.2009 19:14:27]

#

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.

awly [04.11.2009 15:02:16]

#

int screen_width = GetSystemMetrics( SM_CXSCREEN );
int screen_height = GetSystemMetrics( SM_CYSCREEN );

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta