Asignar un TImageList, era tan simple la respuesta al cómo poner un gráfico en los tabs que no merecía la pena ni que contestarais.... Para controlar el OnClick sobre el Bitmap que se dibuje he programado el evento onMouseUp de la siguiente forma:
Código:
procedure TFrmMain.tcVentanasMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
i : Integer;
begin
i := tcVentanas.TabRect(tcVentanas.TabIndex).Left;
if PtInRect(Rect(7,2,20,16), Point(X-i, Y)) then
SendMessage((tcVentanas.Tabs.Objects[tcVentanas.TabIndex] as TForm).Handle, WM_CLOSE, 0, 0);
end;
Y funciona perfectamente (ni que decir tiene que los forms que se abren los he asociado a la lista Objects de los Tabs del TabControl).
En cuanto a la pregunta de si es la mejor forma de hacerlo, queda en el aire por si alguien da alguna idea...