Hallo,
Zitat von
anse:
Bei mir feuert die Form kein OnMouseDown wenn ich auf eine Komponente - egal welche und egal an welcher Stelle ich klicke. (D11)
da muss ich Dir zustimmen wenn Du meinen Code so genommen hast, meine vorgeschlagene Berechnung der Koordinaten ist falsch. Bleibe aber bei der Aussage, der Mausklick in dem leeren Bereich rechts neben den Tabs wird an das Parent-Element weitergereicht. Das Parent-Element kann die Form oder z.B ein Panel sein.
Hab den Code etwas überarbeitet, getestet mit D3 und Turbo Delphi:
Delphi-Quellcode:
procedure NewTab(PgC: TPagecontrol;TabPrefix : String);
var aRect : TRect;
aPoint : TPoint;
begin
aPoint := PgC.ClientOrigin;
aRect := Rect(aPoint.x,aPoint.y,aPoint.x + PgC.Width,aPoint.y + PgC.Height);
GetCursorPos(aPoint);
if PtInRect(aRect, aPoint) then
with TTabSheet.Create(PgC) do
begin
PageControl := PgC;
Name := 'Tab' + IntToStr(PgC.PageCount);
Caption := TabPrefix + IntToStr(PgC.PageCount);
PgC.ActivePage := PgC.Pages[PgC.PageCount-1];
end;
end;
//PageControl liegt direkt auf der Form
procedure TForm1.FormDblClick(Sender: TObject);
begin
NewTab(PageControl1,'Unbenannt ');
end;
//PageControl ist einem Panel zugeordnet
procedure TForm1.Panel1DblClick(Sender: TObject);
begin
NewTab(PageControl2,'New ');
end;
[
OT]
Zitat von
anse:
Hey Lannes, Grüße nach Münster aus Nienberge (bzw. Neuenkirchen privat)
(ähm, arbeitest du wirklich noch mit Delphi 3 (siehe dein Profil)?)
Grüße zurück, ist ja hier um die Ecke, reicht für einen Abendspaziergang
Ja, im wesentlichen mit D 3, startet sehr schnell(D3 = 2 Sek, Turbo Delphi 1/2 Minute).
Bisher konnte ich mit D3 alle Anforderungen abdecken, gut, einiges erfordert einen größeren Aufwand, aber man lernt auch viel dabei.
[/
OT]