bonsoir à tous, mon programme colore souvent des zones bien particulieres selon des rexctangles, voila donc pourquoi j'ai créé une procédure, que j'ai directement calqué de l'aide Delphi. mais cette derniere ne veux pas marcher, et je ne comprend pas vraiment pourquoi... donc je vous la présente, je suis certain que ce n'est pas grand chose...


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Procedure DessinRectangeCouleur(NomImage:String;x1,x2,y1,y2:integer;Color:TColor);
var
    MyRgn: HRGN ;
begin
    MyRgn := CreateRectRgn(x1,x2,y1,y2);
    SelectClipRgn(TImage(NomImage).Canvas.Handle,MyRgn);
    TImage(NomImage).Canvas.Brush.Color := Color;
    TImage(NomImage).Canvas.FillRect(TImage(NomImage).Canvas.ClipRect);
    TImage(NomImage).Invalidate;
    SelectClipRgn(TImage(NomImage).Canvas.Handle,nil);
    DeleteObject(MyRgn);
end;