Section courante

A propos

Section administrative du site

Arc

gdi32.dll Arc
Windows 9X, NT 3.1+, 2000, XP, 2003

Syntaxe

BOOL Arc( HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc );

Paramètres

Nom Description
hdc Ce paramètre permet d'indiquer l'identificateur de la périphérique de contexte.
nLeftRect Ce paramètre permet d'indiquer la coordonnée de gauche de la zone rectangulaire.
nTopRect Ce paramètre permet d'indiquer la coordonnée supérieur de la zone rectangulaire.
nRightRect Ce paramètre permet d'indiquer la coordonnée de droite de la zone rectangulaire.
nBottomRect Ce paramètre permet d'indiquer la coordonnée inférieur de la zone rectangulaire.
nXStartArc Ce paramètre permet la coordonnée horizontal de départ du rayon.
nYStartArc Ce paramètre permet la coordonnée vertical de départ du rayon.
nXEndArc Ce paramètre permet la coordonnée horizontal de fin du rayon.
nYEndArc Ce paramètre permet la coordonnée vertical de fin du rayon.

Description

Cette fonction permet de dessiner l'arc d'une ellipse.

Exemple

Voici un exemple de générer les 100 en arc dans le quatrième cadran :

  1. #include <windows.h>
  2. #include <stdlib.h>
  3.  
  4. LRESULT CALLBACK CrtWinProc(HWND hWnd, UINT message, WPARAM wParameter, LPARAM lParameter) {
  5.     static HDC hDC;
  6.     static PAINTSTRUCT ps;
  7.     int    I;
  8.     switch (message) {
  9.          case WM_PAINT:
  10.           hDC=BeginPaint(hWnd,&ps);
  11.           for(I = 1; I <= 100; I++) {
  12.            HPEN CurrColor = CreatePen(PS_SOLID, 1, RGB(rand() & 255,rand() & 255,rand() & 255));
  13.            SelectObject(hDC,CurrColor);
  14.            Arc(hDC,-300,-300,I*3,I*3,0,0,0,0);
  15.           }
  16.           EndPaint(hWnd,&ps);
  17.           break;
  18.          case WM_DESTROY:
  19.           PostQuitMessage(0);
  20.           break;
  21.          default:
  22.           return DefWindowProc (hWnd, message, wParameter, lParameter);
  23.       }
  24.       return (NULL);
  25.     }
  26.  
  27. int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow) {
  28.     MSG messages;
  29.     WNDCLASSEX wincl;
  30.     char szClassName[ ] = "ArcSamples";
  31.     HWND hwnd;
  32.     wincl.hInstance = hThisInstance;
  33.     wincl.lpszClassName = szClassName;
  34.     wincl.lpfnWndProc = CrtWinProc;
  35.     wincl.style = CS_DBLCLKS;
  36.     wincl.cbSize = sizeof (WNDCLASSEX);
  37.     wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  38.     wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  39.     wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  40.     wincl.lpszMenuName = NULL;
  41.     wincl.cbClsExtra = 0;
  42.     wincl.cbWndExtra = 0;
  43.     wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
  44.  
  45.     if (!RegisterClassEx (&wincl)) return 0;
  46.  
  47.     hwnd = CreateWindowEx(
  48.            0,
  49.            szClassName,
  50.            "Arc Samples",
  51.            WS_OVERLAPPEDWINDOW,
  52.            CW_USEDEFAULT,
  53.            CW_USEDEFAULT,
  54.            544,
  55.            375,
  56.            HWND_DESKTOP,
  57.            NULL,
  58.            hThisInstance,
  59.            NULL
  60.            );
  61.  
  62.     ShowWindow (hwnd, nCmdShow);
  63.  
  64.     while (GetMessage (&messages, NULL, 0, 0))
  65.     {
  66.         TranslateMessage(&messages);
  67.         DispatchMessage(&messages);
  68.     }
  69.     return messages.wParam;
  70. }

on obtiendra le résultat semblable au suivant :

Voir également

Langage de programmation - C pour OS/2 - Support de Windows 3.1 - Arc
Langage de programmation - Turbo Pascal pour Windows - Arc
Articles - Les géants de l'informatique - Microsoft

Dernière mise à jour : Dimanche, le 6 décembre 2015