![]() |
Browser-Fenster - Was ist das für eine Art von "Komponente"?
Hi zusammen,
teilweise ist es gar nicht leicht, modern aussehende und optisch ansprechende Anwendungen zu erstellen. Mit Ribbons etc. geht's mittlerweile aber 100% flexibel ist man da nicht. Daher würde mich interessieren, was das Browserfenster (also das, was die Website darstellt) vom Prinzip her ist. Damit kann man so viel machen, speziell was die GUI anbelangt. Ob das nun gut oder schlecht ist, sei dahingestellt. Natürlich sollte man sich von Standard-Layouts nicht zu weit entfernen. Darüber soll hier auch nicht diskutiert werden. Dennoch würde mich interessieren, was das genau ist. Ist das eine Art Canvas, auf dem gezeichnet wird? Nur kann man dann normalerweise keinen Text mehr markieren. Ist das eine Kombination aus vielen dynamisch generierten "Komponenten"? Also als Beispiel aus der Delphi-Welt: Eine <textarea> ist eine Art RichEdit, die in einer ScrollBox dargestellt wird o.ä. Also, was ist das genau? :gruebel: Grüße Matze |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Moin Matthias,
da ja, z.B., Firefox Opensource ist, könntest Du Dir ja mal die Sourcen ansehen. |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Moin Chris,
daran dachte ich auch zuerst, aber das würde eine halbe Ewigkeit brauchen, sich da einzulesen ... |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Wenn ich dich richtig verstehe, möchtest du an die Rendering-maschine von html ran?
die inputs, buttons, textarea werden je nach OS anders dargestellt, was darauf hindeutet, dass sie da auf die systemspezifischen Sachen zurückgreifen. andererseits kann man sie aber auch mittels CSS stylen. Vielleicht gibt das MDN (Mozilla Developer Network) Auskunft darüber. mfg Florian |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Hallo,
ne ne, ich möchte keine Rendering-Engine o.ä. nachprogrammieren (das ist aussichtslos, so komplex wie die mittlerweile sind ;) ). Die bekomme ich auch fertig. Mich hat nur interessiert, was das für ein Ausgabeelement ist, das so flexible Darstellungen ermöglicht. |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Es geht ihm um das Browser-UI im allgemeinen. Gerade im FireFox 4 mit verschiedenen Personas, Themes, Styles, jeder Button anpassbar etc.
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Zitat:
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Was willst du denn genau wissen? So eine Rendering Engine wie Gecko ist glaube ich zu kompliziert, als dass man mal eben in 3 Sätzen zusammenfassen könnte, wie sie funktioniert.
Für die Darstellung der Buttons und sonstigen Systemelemente greift man unter Windows wahrscheinlich auf die Theme-API zurück und zeichnet die Controls dann manuell, falls das deine Frage sein sollte. Unter Firefox wird ja sogar das komplette Frontend inklusive Menüs und allem auf diese Weise gerendert. Das siehst du auch leicht, wenn du mal mit einem Tool wie WinSpy versuchst, einzelne Controls auszuwählen – es geht nicht: Du kannst nur das gesamte Fenster auswählen. |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Zitat:
Ich wollte eigentlich nur wissen, was das genau ist. Dass sich das nun so entwickelt, hätte ich nicht gedacht. *g* |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Zitat:
Das „weiße Fenster“ bei about:blank ist, vereinfacht gesagt, nichts anderes als ein
Delphi-Quellcode:
.
Canvas.FillRect()
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Aber wenn das nur eine Zeichenfläche ist, dann könnte man den Text doch nicht tippen, markieren etc. Da muss dann doch irgendwas drüber liegen.
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Wieso nicht? :gruebel:
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Wenn das Control Eingaben verarbeiten kann, kann es diese ja auch darstellen.
Vom Umfang her geht das hier ( ![]() mfg Florian |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ein ganz billiges Beispiel, wie man die Selektion von Text emulieren kann.
(Der Text ist leicht gesperrt, da es sonst mit ClearType Artefakte gäbe, deren Umgehung den Code nur unnötig verkomplizieren würde) |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
gutes beispiel, aber man kann den text auch selektieren wenn man nacheinander an zwei stellen im text klickt und nicht zieht.. ;D
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Danke für das Beispiel, Philip. Sehr interessant.
Vielleicht ist das wirklich eine Art Canvas. |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Zitat:
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Also letztendlich ist alles eine Zeichenfläche. Und die Kontrollelemente werden eben von dem Engine gezeichnet, deswegen habe sie auch kein Handle, weil es keine Windows Fenster sind.
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Wobei zum Teil schon die System-Buttons eingebunden werden, vermute ich. Denn diese sehen immer so aus wie das im Betriebssystem eingestellte Theme. Bei den Scrollbalken ist es das Gleiche.
|
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Das gleiche geht natürlich auch für andere Controls... |
AW: Browser-Fenster - Was ist das für eine Art von "Komponente"?
Zitat:
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 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-2025 by Thomas Breitkreuz