볼포에 올려놨던거 옮겨옴
 
필요한 변수
  DCRect : GRADIENT_RECT;
  Vertex : array[0..1] of TTriVertex;
코드
  Vertex[0].x     := 0;
  Vertex[0].y     := 0;
  Vertex[0].Red   := 104 shl 8;
  Vertex[0].Green := 104 shl 8;
  Vertex[0].Blue  := 173 shl 8;
  Vertex[0].Alpha := 0;
 
  Vertex[1].x     := TitleBar.Width;
  Vertex[1].y     := TitleBar.Height;
  Vertex[1].Red   := 165 shl 8;
  Vertex[1].Green := 165 shl 8;
  Vertex[1].Blue  := 209 shl 8;
  Vertex[1].Alpha := 0;
 
  DCRect.UpperLeft := 0;
  DCRect.LowerRight := 1;
 
  GradientFill(TitleBarImage.Canvas.Handle, @Vertex, 2, @DCRect, 1, GRADIENT_FILL_RECT_V);
 
설명 :
처음으로 TTriVertex 형태의 배열이 필요하다.
0번째는 시작색,위치 1번째는 종료색,위치를 지정한다.
 
색을 지정할때 RGB 값에 shl 8 을 하는것에 주의
 
 
DCRect.UpperLeft := 0;
DCRect.LowerRight := 1; 여기 두줄은 뭐하는지 모르겠다.. 그냥 고정시켜둬라
 
자 마지막으로 GradientFill 함수를 사용하여 그려보자.
첫번째 인자로는 DC의 핸들이 필요하다.나는 Panel 에 TImage 하나 올려두고 TImage 의 Canvas 가 가지고 있는 Handle 을 참조하기로 했다.
 
두번째 인자로는 아까 열심히 속성 적어놓은 Vertex 배열의 포인터가 필요하다
 
3번째 인자는 모르겠다. 그냥 2 넣어라
4번째 인자는 아까 만들었던 GRADIENT_RECT 타잎의 포인터가 필요하다
 
5번째인자도 모르겟다 그냥 1 넣어라
 
마지막 인자는 GRADIENT_FILL_RECT_V, GRADIENT_FILL_RECT_H 두 종류가 있다. 각각 가로, 세로 방향을 지정한다.