Usage of OnDrawLinkPoint

I'm trying to draw my own linkpoints by using OnDrawLinkPoint, but it seems that the TCanvas parameter doesn't draw anything. An example of code:

void __fastcall TMainForm::DiagramDrawLinkPoint(TObject *Sender, TCanvas *ACanvas, TLinkPoint *ALinkPoint, TPoint &APoint, bool &DrawingDone)
DrawingDone = true;

ACanvas->Brush->Color = clBlack;
ACanvas->Pen->Color = clBlack;

ACanvas->Rectangle(APoint.X - 2, APoint.Y - 2, APoint.X + 2, APoint.Y + 2);

I noticed that every drawing method uses DgrDrawer.Canvas (the graphic lib is Direct2D), and this event uses Drawer.Canvas. Isn't this related?

OnDrawLinkPoint event was created when Diagram Studio only had GDI drawing option. So that's why it only works in that mode, unfortunately. For GDI+ or Direct2D, you have to use one of the predefined link points.