Ich möchte hier niemandem zu nahe treten und auch niemanden persönlich ansprechen.
Sicherlich ist die Doku nicht so tiefgreifend wie man sie sich wünschen würde aber bisweilen nehmen die Forderungen groteske Züge an. Niemand braucht diese Bevel-Einstellungen (nur ein Beispiel) wirklich. Man kann vieles davon einfach ignorieren. Und wer sich wirklich fragt wozu das ist braucht nur einmal darauf zu klicken und stellt sofort fest was passiert wenn man BevelOuter von bvRaised auf bvLowered umstellt.
Diese Properties sind 1:1 aus der Entwicklungsumgebung von Delphi übernommen. Delphi kostet knapp 15 Hundert Flocken und ist für professionelle Entwickler gedacht. Ich verdiene seit mehrern Jahen meine Brötchen damit und auch ich weiss nicht exakt über alle diese Properties bescheit.
Das Problem dabei eine tiefgreifende Doku für solche „Probleme“ zu schreiben wird nämlich darin liegen, dass man zum Verständnis die Hintergründe erklären müsste. Und, ganz im Ernst… Das würde sich keiner mehr als 2 Stunden durchlesen. Und der Nährwert ist nahe Null.
Stichwort Farben ändern: (sorry gwanjek, dass ich schon wieder dein Beispiel ausgewählt habe)
Ist das gleiche wie beim BevelOuter. Tut mir leid, wenn nirgendwo steht, das man auf den Button klicken kann. Ich meine Der Button ist da. Er ist deutlich sichtbar. Klickt doch einfach drauf, dann seht ihr schon was passiert.
Zurück zum BevelOuter:
Wer wirklich etwas über die Details wissen will kann sich genausogut bei Google informieren- Stichworte währen zum Beispiel „Designer“ oder auch „Formular-Designer“, „Delphi“ und „Panel“, „BevelOuter“. Okay… es gehört etwas Geduld dazu, denn unter Delphi-Usern ist das nicht wirklich ein „heisses Thema“… :rolleyes:
Ein Beispiel aus der Delphi Doku:
Die Klasse TPanel ist abgeleitet von TCustomPanel.
Die Klasse TCustomPanel ist abgeleitet von TCustomControl.
Die Klasse TCustomControl ist abgeleitet von TWinControl.
Die Klasse TWinControl ist abgeleitet von TControl.
Die Klasse TControl ist abgeleitet von TComponent.
Die Klasse TComponent ist abgeleitet von TPersitent.
Die Klasse TPersitent ist abgeleitet von TObject.
VCL-Referenz:
TObject stammt aus der Unit System:
Beschreibung
TObject kapselt das grundlegende Verhalten, das allen Objekten gemeinsam ist. Mit den von TObject eingeführten Methoden können Sie
Objektinstanzen erzeugen, verwalten und auflösen. Dies geschieht durch Zuweisen, Initialisieren und Freigeben von Speicher für das Objekt.
darauf reagieren, dass Objektinstanzen erzeugt oder freigegeben werden.
auf objektspezifische Informationen über den Klassentyp und die Instanz zugreifen und Laufzeitinformationen (RTTI) von Eigenschaften verwalten, die als published deklariert sind.
Botschaften individuell bearbeiten.
Schnittstellen, die das Objekt implementiert, unterstützen.
TObject wird als direkte Basis für einfache Objekte verwendet, die nicht persistent sind (also nicht gespeichert und erneut geladen werden müssen) und die keinen anderen Objekten zugewiesen werden.
Die Leistungsfähigkeit von Objekten beruht zu einem großen Teil auf den Methoden, die TObject einführt. Viele dieser Methoden sind für die interne Verwendung in den IDEs vorgesehen, nicht aber für einen direkten Aufruf durch den Anwender. Andere Methoden müssen in abgeleiteten Objekten, die ein komplexeres Verhalten zeigen, überschrieben werden.
Obwohl TObject das Basisobjekt eines Komponenten-Frameworks ist, sind nicht alle Objekte auch Komponenten. Alle Komponentenklassen sind von TComponent abgeleitet.
Hinweis: TObject wird nie direkt instantiiert. Obwohl keine Programmiersprachenelemente zum Verhindern der Instantiierung verwendet werden, ist TObject eine abstrakte Klasse.
Methoden von TObject:
In TObject
~TObject
AfterConstruction
BeforeDestruction
ClassInfo
ClassName
ClassNameIs
ClassParent
ClassType
CleanupInstance
Create
DefaultHandler
Destroy
Dispatch
FieldAddress
Free
FreeInstance
GetInterface
GetInterfaceEntry
GetInterfaceTable
InheritsFrom
InitInstance
InstanceSize
MethodAddress
MethodName
NewInstance
SafeCallException
TObject
Jetzt kommen etwa 4-5 Seiten Erklärung der eizelnen Methoden, die ich euch erspare… Das selbe kommt dann noch für die Properties von TObject und der anderen. Also für TCustomPanel, TCustomControl, TWinControl, TControl, TComponent, TPersitent. Da sich die Eigenschaften untereinander bedingen kann man leider nicht einfach die hälfte weglassen.
Aber machen wir einen Sprung von mehreren Kapiteln:
Auszug aus der Referenz von TCustomPanel, dem Vorfahren von TPanel. Abschnitt VCL-Referenz ohne CLX.
TCustomPanel stammt aus der Unit ExtCtrls:
Beschreibung
TCustomPanel dient als Basisklasse für Objekte, die sich aus mehreren anderen Steuerelementen zusammensetzen. Tafeln sind Steuerelemente, die andere Steuerelemente aufnehmen und auf diese Weise in Gruppen zusammenfassen können.
Wird eine Tafel mit Hilfe der Eigenschaft Align im Formular ausgerichtet, dann behält sie ihre relative Position auch dann bei, wenn die Größe des Formulars verändert wird. Sie können eine Tafel beispielsweise so ausrichten, dass sie immer im oberen Bereich des Formulars angezeigt wird, gleichgültig, in welcher Weise der Benutzer Form und Größe des Formulars verändert. Tafeln eignen sich damit gut für die Implementierung von Komponenten wie Werkzeugleisten oder Statusleisten. Sie könnten zum Beispiel eine Werkzeugleiste oder eine Werkzeugpalette erstellen, indem Sie Schaltflächen zur Ausführung von Befehlen oder zum Wechseln der Modi in eine Tafel einfügen.
Properties:
In TCustomPanel
Alignment
BevelInner
BevelOuter
BevelWidth
BorderStyle
BorderWidth
FullRepaint
Locked
Abgeleitet von TWinControl
AlignDisabled
Brush
ClientOrigin
ClientRect
ControlCount
Controls
Ctl3D
DockClientCount
DockClients
DoubleBuffered
Handle
ParentBackground
ParentWindow
Showing
TabOrder
TabStop
UseDockManager
VisibleDockClientCount
Abgeleitet von TControl
Action
Align
Anchors
BiDiMode
BoundsRect
ClientHeight
ClientWidth
Constraints
ControlState
ControlStyle
Cursor
DockOrientation
Enabled
Floating
FloatingDockSiteClass
Height
HelpContext
HelpKeyword
HelpType
Hint
HostDockSite
Left
LRDockWidth
Name
Parent
ShowHint
TBDockHeight
Top
UndockHeight
UndockWidth
Visible
Width
WindowProc
Abgeleitet von TComponent
ComObject
ComponentCount
ComponentIndex
Components
ComponentState
ComponentStyle
DesignInfo
Owner
Tag
VCLComObject
Methoden:
In TCustomPanel
~TCustomPanel
AdjustClientRect
CanAutoSize
Create
CreateParams
GetControlsAlignment
Paint
TCustomPanel
Abgeleitet von TCustomControl
Destroy
Abgeleitet von TWinControl
Broadcast
CanFocus
ContainsControl
ControlAtPos
CreateParented
CreateParentedControl
DefaultHandler
DisableAlign
DockDrop
EnableAlign
FindChildControl
FlipChildren
Focused
GetTabOrderList
HandleAllocated
HandleNeeded
InsertControl
Invalidate
PaintTo
Realign
RemoveControl
Repaint
ScaleBy
ScrollBy
SetBounds
SetFocus
Update
UpdateControlState
Abgeleitet von TControl
BeginDrag
BringToFront
ClientToParent
ClientToScreen
Dock
DragDrop
Dragging
DrawTextBiDiModeFlags
DrawTextBiDiModeFlagsReadingOnly
EndDrag
GetParentComponent
GetTextBuf
GetTextLen
HasParent
Hide
InitiateAction
IsRightToLeft
ManualDock
ManualFloat
MouseWheelHandler
ParentToClient
Perform
Refresh
ReplaceDockedControl
ScreenToClient
SendToBack
SetTextBuf
Show
UseRightToLeftAlignment
UseRightToLeftReading
UseRightToLeftScrollBar
Abgeleitet von TComponent
BeforeDestruction
DestroyComponents
Destroying
ExecuteAction
FindComponent
FreeNotification
FreeOnRelease
GetNamePath
InsertComponent
IsImplementorOf
ReferenceInterface
RemoveComponent
RemoveFreeNotification
SafeCallException
SetSubComponent
UpdateAction
Abgeleitet von TPersistent
Assign
Abgeleitet von TObject
AfterConstruction
ClassInfo
ClassName
ClassNameIs
ClassParent
ClassType
CleanupInstance
Dispatch
FieldAddress
Free
FreeInstance
GetInterface
GetInterfaceEntry
GetInterfaceTable
InheritsFrom
InitInstance
InstanceSize
MethodAddress
MethodName
NewInstance
Das ist ein Menü, dass ich kopiert habe. Zu jedem Menüpunkt gibt es reichlich Informationen.
Und nun noch, weil es mein Beipiel war, ein Auszug (!) von BevelOuter:
BevelOuter - Abschitt VCL:
Die Eigenschaft BevelOuter bestimmt den Stil der äußeren Schrägkante einer Tafel.
Delphi-Syntax:
property BevelOuter: TPanelBevel;
C++ Syntax:
__property TBevelCut BevelOuter = {read=FBevelOuter, write=SetBevelOuter, default=2};
Beschreibung
Mit Hilfe der Eigenschaft BevelOuter können Sie der Tafel ein dreidimensionales Aussehen verleihen. Eine Tafelkomponente besitzt zwei Schrägkanten. Die äußere Schrägkante befindet sich am Rahmen des Steuerelements. Innerhalb der äußeren Schrägkante befindet sich die innere Schrägkante. Der Abstand zwischen den beiden Kanten wird mit der Eigenschaft BorderWidth in Pixel angegeben. Die Breite der äußeren Schrägkante wird in der Eigenschaft BevelWidth in Pixel angegeben.
Wer jetzt gerne die Delphi-Hilfe neu verfassen möchte, an IPS anpassen und vielleicht noch gleich so formulieren, dass ein „Nicht-Informatiker“ sie versteht, kann sich gern bei mir melden. Und ich schreib dann einfach das nächste mal RTFM :mad:
Gruß,
Toni