![]() |
Componenten schräg anordnen
Ich hab jetzt leider keinen passenden Beitrag gefunden, deshalb hier meine Frage:
Wie bekomme ich es hin in Delphi Komponenten Schräg (z.B. Diagonal über das Bild) anzuordnen? Konkretes Beispiel: Ich habe ein Hintergrundbild, welches ein Buch darstellt. Da soll jetzt z.B. per Textfeld Text reingeschrieben werden. Das Buch ist aber natürlich nicht genau gerade. Wie bekomme ich das jetzt hin das der Text auch schräg verläuft? PS Noch eine Zusatzfrage: Per
Delphi-Quellcode:
setze ich den Text. Wie erreiche ich jetzt das der auch mal einen Zeilenumbruch macht wenn die Zeile voll ist? Wordwrap macht das nicht bei mir...
lbl.caption := lbl.caption + Buchstabe
|
Re: Componenten schräg anordnen
Zum 1.:
Zeichne den Text einfach selber. Am einfachsten ist es dann natürlich, wenn man die ![]() ![]() ![]() ![]() Zum 2.: WordWrap bricht immer nur bei Leerzeichen. Wenn du immer nur Buchstaben anhängst bleibt das in einer Zeile. PS: Demnächst nur noch eine Frage per Thread posten. Für jede weitere Frage einen neuen Thread. |
Re: Componenten schräg anordnen
Ich sehe das nicht so einfach wie implementation (eh - cooler nick).
eragon123 möchte mit der Tastatur in eine z.b TEdit Daten eingeben. Also auf dem schrägem Hintergrund sollen Eingabefelder fokussiert werden können, und dort kann ein Text eingegeben werden Die TEdit müsste also den selben Winkel haben :roll: Malen auf dem canvas ist meiner Meinung nach nicht Zielführend. Man müsste aus einer TEdit Class eine TEdit_Angle bauen :gruebel: |
Re: Componenten schräg anordnen
Das geht nur leider so nicht, da die gesamten Standard-Controls direkt von Windows bereit gestellt werden, und in diesen solche Variationen an keiner Stelle ansatzweise bedacht sind. Die einzige Lösung ist, wie bereits implementation angedeutet hat, komplett selbst Hand anzulegen, und das Verhalten von einem Edit auf der eigenen Ausgabe abzubilden. Das ist auch schon vergleichsweise knifflig, und sicherlich auch ein ganzer Stiefel Schreibarbeit, vor allem je nach dem wie variabel man seine Komponenten dann auch halten mag.
Das ganze ist ein wenig vergleichbar mit der Erstellung (bzw. Nachbildung) visueller Controls in vielen D3D/OGL Spielen, wo in diese Richtung überhaupt keine Unterstützung vom OS gegeben wird, und alles was man sieht intern einfach nur eine Hand voll Grafiken ist, mit komplett selbst implementierten Verhalten. |
Re: Componenten schräg anordnen
Wer weiß, vielleicht hat ja irgendjemand, der sich die Mühe schon gemacht hat, seine Kompo veröffentlicht... -> einfach googeln
Sonst selber machen. Ist auch nicht so schwer. Viel muss das Edit ja nicht können: - sich selbst zeichnen. (siehe mein obiger Post) - den Fokus erhalten können. (durch Ableitung von TWinControl) - die Tastatureingaben abfangen. (Nachrichten WM_CHAR, WM_KEYUP, WM_KEYDOWN) Das lässt sich recht schnell schaffen. Hab ich selbst auch schon gemacht, allerdings in C#, sonst würde ich den Code hier posten. |
Re: Componenten schräg anordnen
von Medium:
Zitat:
|
Re: Componenten schräg anordnen
Was halt leider nicht wirklich eine gute Idee ist, da das Edit insbesondere in Punkto Darstellung von Windows verwaltet wird, was man zunächst also erstmal unterdrücken müsste. Was dann noch brauchbares davon über bleibt, hat man mit TWinControl als Vorfahr dann auch ;)
Edit: Trotz deines Edits lass ich's mal stehen :) |
Re: Componenten schräg anordnen
@Medium: Du hast schon recht, im Endeffekt wäre es dann ein Nachfahre von TWinControl :oops:
Erst Gehirn einschalten und dann posten, nicht umgekehrt - sorry. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz