ARC |
Arc |
---|---|
Turbo Pascal pour Windows | WINPROCS |
Syntaxe
Function Arc(DC: HDC; X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer): Bool; |
Paramètres
Nom | Description |
---|---|
DC | Ce paramètre permet d'indiquer l'identificateur de la périphérique de contexte. |
X1 | Ce paramètre permet d'indiquer la coordonnée de gauche de la zone rectangulaire. |
Y1 | Ce paramètre permet d'indiquer la coordonnée supérieur de la zone rectangulaire. |
X2 | Ce paramètre permet d'indiquer la coordonnée de droite de la zone rectangulaire. |
Y2 | Ce paramètre permet d'indiquer la coordonnée inférieur de la zone rectangulaire. |
X3 | Ce paramètre permet la coordonnée horizontal de départ du rayon. |
Y3 | Ce paramètre permet la coordonnée vertical de départ du rayon. |
X4 | Ce paramètre permet la coordonnée horizontal de fin du rayon. |
Y4 | 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 :
- Program ArcSamples;
-
- Uses WinProcs, WinTypes;
-
- Const
- CrtWindow: HWnd = 0;
-
- Var
- PS: TPaintStruct;
- Message: TMsg;
-
- Function CrtWinProc(Window: HWnd; Message, WParam: Word; LParam: LongInt): LongInt;Export;
- Var
- I:Integer;
- DC:HDC;
- CurrColor:HPEN;
- Begin
- CrtWinProc := 0;
- CrtWindow := Window;
- Case Message of
- wm_Paint:Begin
- DC := BeginPaint(Window, PS);
- For I := 1 to 100 do Begin
- CurrColor:=CreatePen(PS_SOLID, 1, RGB(Random(255),Random(255),Random(255)));
- SelectObject(DC,CurrColor);
- Arc(DC,-300,-300,I*3,I*3,0,0,0,0);
- End;
- EndPaint(Window, PS);
- End;
- wm_Destroy: PostQuitMessage(0);
- Else CrtWinProc := DefWindowProc(Window, Message, WParam, LParam);
- End;
- End;
-
- Const
- CrtClass: TWndClass = (
- style: cs_HRedraw + cs_VRedraw;
- lpfnWndProc: @CrtWinProc;
- cbClsExtra: 0;
- cbWndExtra: 0;
- hInstance: 0;
- hIcon: 0;
- hCursor: 0;
- hbrBackground: 0;
- lpszMenuName: NIL;
- lpszClassName: 'TPWDraw'
- );
-
- BEGIN
- If HPrevInst = 0 Then Begin
- CrtClass.hInstance := HInstance;
- CrtClass.hIcon := LoadIcon(0, idi_Application);
- CrtClass.hCursor := LoadCursor(0, idc_Arrow);
- CrtClass.hbrBackground := color_Window + 1;
- RegisterClass(CrtClass);
- End;
- CrtWindow := CreateWindow(
- CrtClass.lpszClassName,
- 'Dessin Arc',
- ws_OverlappedWindow + ws_HScroll + ws_VScroll,
- cw_UseDefault, cw_UseDefault,
- cw_UseDefault, cw_UseDefault,
- 0,0,
- HInstance,
- NIL
- );
- ShowWindow(CrtWindow, CmdShow);
- UpdateWindow(CrtWindow);
- While GetMessage(Message, 0, 0, 0) do Begin
- TranslateMessage(Message);
- DispatchMessage(Message);
- End;
- END.
on obtiendra le résultat semblable au suivant :
Voir également
Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - CHORD
Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - ELLIPSE
Langage de programmation - C pour OS/2 - Support de Windows 3.1 - Arc
Dernière mise à jour : Dimanche, le 10 décembre 2017