-
Forum: Multimedia
by Bjoerk,
9. Mär 2013
Bummi, du hast ja sowas von Recht!! Dieses ewige BringToFront SendToBack hab ich überhaupt nicht bedacht. Das kann ich unmöglich bringen. Damit ist dieses Konzept letztlich gestorben.
Offengestanden waren mir Shapes eh viel zu langsam. Und jetzt auch von TWInControl ableiten und Regionen zuweisen? Ich werd ganz klassisch eine ScrollBox nehemen und eine Paintbox rein. Eine Objectlist muß...
-
Forum: Multimedia
by Bjoerk,
9. Mär 2013
Ich habs soweit fertig. Was ich bissl blöd find, daß wenn man z.B. eine Line von 0,0 nach 1000,1000 zeichnet, das Width und Height der Komponente sehr groß werden. Auch schlecht für MouseEnter, MoueLeave, MouseMove usw.. Besser fände ich es, wenn man das Canvas um die Line herum bauen könnte (schräges Rect). Man bräuchte dann auch kein LineAlign mehr. Wie macht denn sowas? Muß man dann erst mal...
-
Forum: Multimedia
by Bjoerk,
7. Mär 2013
Left, Top, Width und Height sind fest drin aber TControl hat ja das angesprochene OnResize-Event.
Genau, da winkt ja der Stackowerflow. Kann ich irgendwie den Sender auswerten oder brauch' ich ein eigenes Flag?
-
Forum: Multimedia
by Bjoerk,
7. Mär 2013
Ja Stahli, das ist für hier wirklich sehr sehr viel einfacher. Dann wird zur Designzeit auch gleich alles richtig angezeigt. :thumb::thumb::thumb:
Das einzige was ich jetzt noch hab ist: Width und Height sind ja vom UrUrVorfahren. Wie kriegt denn meine Komponete mit, daß die sich geändert haben. Ich muß ja dann X1/Y1 und X2/Y2 entsprechend anpassen?
procedure TLine.SetX1(const Value:...
-
Forum: Multimedia
by Bjoerk,
7. Mär 2013
Ok. Thanx.
Die Methode Loaded war mir auch nicht bekannt. Es geht so, wie sx2008 vorgeschlagen hat. Hab aber nicht gewußt, daß das nach Loaded rein muß. Was aber immer noch nicht geht, daß es zur Designzeit angezeigt wird. :gruebel:
procedure TLine.Loaded;
begin
inherited Loaded;
AdjustBounds;
end;
-
Forum: Multimedia
by Bjoerk,
7. Mär 2013
Was mir gestern abend noch eingefallen ist, was ich brauch' nennt man wohl Autosize.
Deshalb schau ich mir gerade die TCustomLabel an, weil die auch von TGraphicControl ebgeleitet ist und ein Autosize hat (die Komponentenhöhe wird da ja auch anhand der Fontgröße gesetzt, falls Autosize true ist).
In diesem Zusammenhang ist bei mir folgende Frage aufgetaucht:
TCustomLabel =...
-
Forum: Multimedia
by Bjoerk,
6. Mär 2013
Nee, das geht nicht. Wo sollte ich das auch hinschreiben? In Paint geht ja nicht. Da würde ja bei jedem Paint With und Height der Komponente vergrößert. Width und Height sind ja die von TGraphicControl geerbten. Deshalb meinte ich, man sollte die Komponente vielleicht von was ganz anderem ableiten, nur von welcher? wobei ich die Mauseereignisse schon bräuchte..
-
Forum: Multimedia
by Bjoerk,
6. Mär 2013
Genau!!
Also, wenns so einfach geht wäre natürlich super. Probier ich sofort aus. Thanx! Hoffe Paint spielt dann nicht verrückt...
-
Forum: Multimedia
by Bjoerk,
6. Mär 2013
Vielleicht nochmal zur Erläuterung. Man gibt die roten Koordinaten (Siehe 2. Anlage) vor und die Komponente wird dann so dargestellt (möglichst schon zur Designzeit auf der Form, Offset nach außen, also so wie MoveTo/LineTo das eigentlich machen würde). Das krieg ich aber nicht hin? :gruebel:
-
Forum: Multimedia
by Bjoerk,
6. Mär 2013
Ja, das ist klar (Siehe OffSet1 und OffSet2). Typen hab ich auch schon (hab ich in der Paint jetzt weggelassen).
TLineStyle = (lsTop, lsBottom, lsLeft, lsRight,
lsTopLeft, lsTopRight, lsBottomLeft, lsBottomRight,
lsTopLeftBottomRight, lsTopRightBottomLeft);
procedure TLine.Paint;
var
X1, Y1, X2, Y2: Integer;
begin
-
Forum: Multimedia
by Bjoerk,
6. Mär 2013
Ich erstelle z.Z eine TLine Klasse (Shape).
Dabei habe Ich folgendes Problem: Damit die Line vollständig in das Canvas hineinpasst, muß man beim Zeichnen der Linie Offsets abziehen. Wenn man das aber tut, wird die Linie zwar schön dargestellt (Siehe Paint), aber sie stimmt nicht mehr, weder Start- noch Endpunkt. Man sieht auch, daß der Winkel falsch ist (Siehe Anlage).
Ich müßte die ganze...