| Home | Delphi | Download | Spaß | Impressum | eMail | xwatch.de |
![]() ![]() | Komponenten zur Laufzeit erstellen |
Man kann sämtliche Properties aus dem Designer auch im Quelltext setzen. Wichtig ist, dass man als Parent die Form angibt, auf der die Komponente erstellt werden soll.
Procedure TMyForm.Labelmachen;
var ALabel: TLabel
Begin
{ Self steht für die aktuelle Instanz von TMyForm }
ALabel:=TLabel.Create(self);
ALabel.Parent:=self;
ALabel.Caption:='Beschriftung';
ALabel.Visible:=True;
{sonstige Properties setzen, z.B. für Position, Höhe und Breite}
End;
![]() ![]() | Cursorposition in TMemo |
Dazu ein Beispiel:
Lpos:=SendMessage(memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0); Cpos := SendMessage(memo1.Handle,EM_LINEINDEX,Lpos,0); LineLength := SendMessage(memo1.handle, EM_LINELENGTH, Cpos, 0); CPos := Memo1.SelStart-CPos;
![]() ![]() | Icon von Komponenten ändern |
Als Icons dienen 24x24 Punkte große Bitmaps (.BMP-Dateien) mit 16 Farben. Diese kann man mit dem Delphi-Bildeditor ins passende Format bringen:
- Bildeditor starten
- Menü Datei|neu|.dcr
- Kontextmenü->Neu
- Bitmap erstellen (24x24, 16 Farben)
- Bitmap wie die entsprechende Komponente benennen, aber in Großbuchstaben. Wenn die Komponente TBlaFasel heißt, muss die Bitmap TBLAFASEL genannt werden.
- Bitmap editieren
- Datei speichern, muss wie die Unit heißen: Zu blafasel.pas gehört also blafasel.dcr
Wenn in einer Unit mehrere Komponenten zusammengefasst sind, müssen die dazu passenden Icons ebenfalls entsprechend obiger Konventionen benannt und in einer .dcr-Datei gespeichert werden.
![]() ![]() | Icons und Progressbars in einer TStatusBar |
Man kann die Style-Property des StatusPanels auf psOwnerDraw stellen und dann im OnDrawPanel-Ereignis der StatusBar das Panel zeichnen.
TdfsStatusBar von Brad Stowers
Mit dieser Komponente kann man man Icons (oder andere Controls) bequem mit dem Formulardesigner in die Statuszeile verfrachten.