![]() |
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zu 2.: keine Ahnung :) aber es ist üblich Englische Namen zu vergeben und so ein "Pseudo-Deutscher" Name klingt nicht nur besch**** sondern wenn die Kompo veröffentlicht wird wird jemand der der deutschen Sprache nicht mächtig ist ;) mit einer Eigenschaft namens "MaxNachkomma" nicht viel anfangen können ;) Einfach mal nachschaun was "Nachkommastelle" auf englisch heißt... Zu 3.: wie meinst du standardmäßig links? den letzten Satz check ich übrigens auch nicht ganz.. ;) Zitat:
|
Delphi Personal Edition hat keinerlei Datenbank-Funktionen. Der letzte Satz ist bereits überholt, siehe mein letztes Posting. Das mit den zerfransten Labels kommt übrigens nicht durch die falsche Ausrichtung, sondern dadurch, daß die Width des Labels auf die Länge der Caption eingestellt ist.
|
Zitat:
Zitat:
|
hab mir das Teil jetzt mal wieder genauer angesehen. Da sind noch ein paar Fragen/Fehler aufgetaucht. Folgendes ist schlecht:
1. Wird die Caption des Labels geändert, überschreibt irgendwas die Width dieses Labels. Das nimmt dann nur die Länge ein, wie lang der Caption-String halt ist. 2. Word-Wrap geht auch nicht. Hängt wahrscheinlich mit 1. zusammen. jetzt noch ein paar Fragen (@Motzi): 1. warum verwendest Du bei den Set... Prozeduren const-Parameter? 2. SetLabelPos wird sehr oft aufgerufen, warum? und last but not least: muß das forward deklariert werden? |
Zitat:
Zitat:
Zu 2.: SetLabelPos wird immer dann aufgerufen wenn die Möglichkeit besteht, dass die Labelposition/größe geändert wurde. Wenn zb AutoSize auf True ist und die Schriftart verändert wird, dann wird die Größe des Labels an die neue Schrift angepasst. Daher wird beim setzen der Font im Nachhinein auch SetLabelPos aufgerufen, damit auf eine eventuelle Positions-/Größenänderung reagiert wird. |
Hi Motzi,
erstaunlicherweise läßt sich die Komponente heute ohne jegliches zutun meinerseitz problemlos installieren. Egal was es war, hauptsache es funzt. Das mit der Labelgröße nach Caption-Änderung ist doch ganz klar auf die Eigenschaft AutoSize des Labels zurückzuführen. Jetzt muß nur noch eingearbeitet werden, dass bei Setzen der Eigenschaft auf False die Größenzuordnung des Edit übernommen wird. Gruß oki |
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute,
ich hab das mal schnell geändert mit der Größe des Labels in Bezug auf die Eigenschaft AutoSize. Hier währe die Frage ob die Größenänderung des Weite des Labels bei rechts- und linksbündiger Ausrichtung gewünscht ist. Gleiche Frage kann man für die Höhe bei Ausrichtung lpTop und lpBottom stellen. Macht mal einen Vorschlag und ich würde das gerne einarbeiten. Gruß oki |
Zitat:
|
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Motzi,
das mit AutoEditSize hab ich auf die Schnelle übersehen.Ich hab den Behandlungscode dorthin verschoben. Die Frage währe jetzt ob wir noch mal explizit auf Labelhöhe und -Breite in Bezug auf Labelposition reagieren. Gruß oki |
Hi,
das Thema geht noch weiter, auch wenn es nur wenige interessiert. Ich habe hier einen Code, den ich aus weltweiten Bestandteilen zusammengestückelt habe. Ich finde, der Code ist sehr einfach, aber effizient. Dabei geht es allerdings um eine ListBox mit Label:
Delphi-Quellcode:
[edit=Daniel B]Delphi-Tags ergänzt. MfG Daniel B.[/edit]
unit labeledlistbox;
interface uses Controls, stdctrls, ExtCtrls, Classes; procedure Register; implementation type TMyListBox = Class( TCustomPanel ) private FLabel: TLabel; FListBox: TListBox; procedure SetLabelCaption(const Value: String); function GetLabelCaption: String; function GetListBoxItems: TStrings; function GetListBoxItemIndex: Integer; function GetListBoxOnClick: TNotifyEvent; procedure SetListBoxItemIndex(const Value: Integer); procedure SetListBoxOnCLick(const Value: TNotifyEvent); public constructor Create( AOwner: TComponent ); override; destructor Destroy; override; published property Font; property LabelCaption: String read GetLabelCaption write SetLabelCaption; property ListBoxItems: TStrings read GetListBoxItems; property ListBoxItemIndex: Integer read GetListBoxItemIndex write SetListBoxItemIndex; property ListBoxOnClick: TNotifyEvent read GetListBoxOnClick write SetListBoxOnCLick; end; constructor TMyListBox.Create(AOwner: TComponent); begin inherited Create( AOwner ); FLabel := TLabel.Create( Self ); FLabel.Parent := Self; FLabel.Align := alTop; FLabel.Caption := 'LABEL_CAPTION'; FListBox := TListBox.Create( Self ); FListBox.PArent := Self; FListBox.Align := alClient; end; destructor TMyListBox.Destroy; begin FLabel.Free; FListBox.Free; inherited Destroy; end; function TMyListBox.GetLabelCaption: String; begin Result := FLabel.Caption; end; function TMyListBox.GetListBoxItemIndex: Integer; begin Result := FListBox.ItemIndex; end; function TMyListBox.GetListBoxItems: TStrings; begin Result := FListBox.Items; end; function TMyListBox.GetListBoxOnClick: TNotifyEvent; begin Result := FListBox.OnClick; end; procedure TMyListBox.SetLabelCaption(const Value: String); begin if FLabel.Caption <> Value then begin FLabel.Caption := Value; Invalidate; end; end; procedure TMyListBox.SetListBoxItemIndex(const Value: Integer); begin if FListBox.ItemIndex <> Value then begin FListBox.ItemIndex := Value; Invalidate; end; end; procedure TMyListBox.SetListBoxOnCLick(const Value: TNotifyEvent); begin FListBox.OnClick := Value; end; procedure Register; begin RegisterComponents('Additional', [TMyListBox]); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 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