Just nu i M3-nätverket
Jump to content

Urtavla


DIFference

Recommended Posts

Hej!

 

Jag ska göra en urtavla. Men jag vill inte sitta o srkvia alla siffror (1-12) med en operation för VARJE. Vill ju självklart göra det med en forsats. Någon som kan hjälpa mig med denna forsats?

 

Ha de!

 

 

-------------------------------------------

/MrMicke

Link to comment
Share on other sites

Svårt att exakt säga vad du vill ha hjälp med, är det bara hur for satsen skall se ut så är det ju:

for ( int i = 1 ; i <= 12 ; i++ )

{

}

 

Sedan får du ju rita upp siffrorna på rätt plats också.

 

/Jocke

 

Link to comment
Share on other sites

Det vet jag. Det är själva uppritningen som jag inte kommer på riktigt.

 

 

-------------------------------------------

/MrMicke

 

Link to comment
Share on other sites

Då kan du ju sätta ut siffrorna i resurs editorn. Varför inte bara sätta ut 12st static texter? Varför skall det göras genom kod?

 

/Jocke

 

Link to comment
Share on other sites

Jo, det är sant! Varför? =) Men jag är inte så hajj på just Visual, just börjat med det på högskolan. Hur gör jag då?

 

 

-------------------------------------------

/MrMicke

 

Link to comment
Share on other sites

jerker olofsson

unsigned int CenterX = 200;

unsigned int CenterY = 200;

double Radius = 180.0;

 

for( int i=1; i<=12; i++ )

{

int X = CenterX +

cos( (double)i / 12.0 * PI2) *

Radius;

int Y = CenterY +

sin( (double)i / 12.0 * PI2) *

Radius;

DrawNumber( X, Y, i );

}

 

Link to comment
Share on other sites

vilken h-fil måste jag deklarera föra tt DrawNumber ska funka? det står att det är unidentified...

 

 

-------------------------------------------

/MrMicke

 

Link to comment
Share on other sites

jerker olofsson

Den far du skriva sjalv... Men jag kan gora ett exempel..

 

i WndProc:

case WM_PAINT:

DrawClock( hWnd );

break;

 

void DrawNumber( HDC hDc, int x, int y, int n )

{

char szText[10];

sprintf( szText, "%d", n );

 

// Anvand CreateFont() for att andra typsnitt.. Sok pa MSDN..

 

TextOut( hDc, x, y, szText, strlen( szText ) );

 

}

 

void DrawClock( HWND hWnd )

{

PAINTSTRUCT ps;

HDC hDc;

hDc = BeginPaint( hWnd, &ps );

 

unsigned int CenterX = 200;

unsigned int CenterY = 200;

double Radius = 180.0;

 

// Du kan behova addera PI, 2PI eller 3PI i cos/sin satsen for att fa siffrorna pa ratt plats.. 3PI tror jag att de ska be0vas, prova dig fram..

for( int i=1; i<=12; i++ )

{

int X = CenterX + cos( (double)i / 12.0 * PI2) * Radius;

int Y = CenterY + sin( (double)i / 12.0 * PI2) * Radius;

DrawNumber( hDc, X, Y, i );

}

EndPaint( hWnd, &ps );

}

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...