Einzelnen Beitrag anzeigen

Benutzerbild von runningsoft
runningsoft

Registriert seit: 8. Okt 2004
Ort: Bernau
108 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: CreatePolygonRgn und abgerundete Ecken

  Alt 17. Mai 2021, 20:10
Vielen Dank für die Hinweise. Ich habs dann wie von Himitsu vorgeschlagen gemacht.

CombineRgn hieß das Zauberwort, um zwei Regions miteinander zu verbinden. Rgn1 wird dadurch um Rgn2 erweitert und ergibt die gewünschte Form.

Falls mal jemand das gleiche Problem hat, hier mein Code:
Delphi-Quellcode:
procedure TTipPanel.RecreateHRGN;
const radius = 20;
var
  Rgn1, Rgn2: hRgn;
  pList : array of TPoint;
begin
  //zuerst die Grundform mit gerundeten Ecken
  Rgn1 := CreateRoundRectRgn(0,30,200,100,radius,radius);

  //danach den Pfeil auf die obere Kante
  SetLength(pList,3);
  pList[0] := Point(30,30);
  pList[1] := Point(30,0);
  pList[2] := Point(60,30);
  Rgn2 := CreatePolygonRgn(plist[0],High(pList)+1,Winding);

  CombineRgn(Rgn1,Rgn1,Rgn2,RGN_OR);
  SetWindowRgn(Handle, Rgn1, True);
end;
Vielen Dank für die Hilfe.
  Mit Zitat antworten Zitat