ARC |
Arc |
---|---|
GDI.EXE | Support de Windows 3.1 |
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>
-
- HWND hWnd = 0;
-
- LRESULT FAR PASCAL _export MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
- 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, wParam, lParam));
- }
- return (NULL);
- }
-
- #pragma argsused
-
- int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
- MSG msg;
- WNDCLASS wc;
- wc.lpszClassName = "ARC";
- if (!hPrevInstance) {
- wc.style = CS_HREDRAW | CS_VREDRAW;
- wc.lpfnWndProc = MainWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = hInstance;
- wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
- wc.lpszMenuName = NULL;
- if(!RegisterClass(&wc)) {
- MessageBox(NULL, "Impossible d'enregistrer ARC!","Error", MB_OK);
- return (FALSE);
- }
- }
-
- hWnd = CreateWindow(
- wc.lpszClassName,
- "Arc Samples",
- WS_OVERLAPPED|WS_HSCROLL|WS_VSCROLL | WS_SYSMENU,
- CW_USEDEFAULT, CW_USEDEFAULT,
- CW_USEDEFAULT, CW_USEDEFAULT,
- NULL, NULL,
- hInstance,
- NULL
- );
-
- if(!hWnd) return (FALSE);
-
- ShowWindow(hWnd, nCmdShow);
- UpdateWindow(hWnd);
-
- while (GetMessage(&msg, NULL, NULL, NULL)) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return (msg.wParam);
- }
on obtiendra le résultat semblable au suivant :
Voir également
Langage de programmation - C pour OS/2 - Support de Windows 3.1 - Chord
Langage de programmation - Turbo Pascal pour Windiows - Référence procédures et fonctions - Arc
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Dimanche, le 13 mai 2018