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 :
- #include <windows.h>
- #include <stdlib.h>
-
- LRESULT CALLBACK CrtWinProc(HWND hWnd, UINT message, WPARAM wParameter, LPARAM lParameter) {
- static HDC hDC;
- static PAINTSTRUCT ps;
- int I;
- switch (message) {
- case WM_PAINT:
- hDC=BeginPaint(hWnd,&ps);
- for(I = 1; I <= 100; I++) {
- HPEN CurrColor = CreatePen(PS_SOLID, 1, RGB(rand() & 255,rand() & 255,rand() & 255));
- SelectObject(hDC,CurrColor);
- Arc(hDC,-300,-300,I*3,I*3,0,0,0,0);
- }
- EndPaint(hWnd,&ps);
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc (hWnd, message, wParameter, lParameter);
- }
- return (NULL);
- }
-
- int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow) {
- MSG messages;
- WNDCLASSEX wincl;
- char szClassName[ ] = "ArcSamples";
- HWND hwnd;
- wincl.hInstance = hThisInstance;
- wincl.lpszClassName = szClassName;
- wincl.lpfnWndProc = CrtWinProc;
- wincl.style = CS_DBLCLKS;
- wincl.cbSize = sizeof (WNDCLASSEX);
- wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
- wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
- wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
- wincl.lpszMenuName = NULL;
- wincl.cbClsExtra = 0;
- wincl.cbWndExtra = 0;
- wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
-
- if (!RegisterClassEx (&wincl)) return 0;
-
- hwnd = CreateWindowEx(
- 0,
- szClassName,
- "Arc Samples",
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- 544,
- 375,
- HWND_DESKTOP,
- NULL,
- hThisInstance,
- NULL
- );
-
- ShowWindow (hwnd, nCmdShow);
-
- while (GetMessage (&messages, NULL, 0, 0))
- {
- TranslateMessage(&messages);
- DispatchMessage(&messages);
- }
- return messages.wParam;
- }
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