AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SpeedButton im Edit erzeugen

Ein Thema von Tpercon · begonnen am 25. Feb 2003 · letzter Beitrag vom 26. Feb 2003
Antwort Antwort
Seite 1 von 2  1 2      
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#1

SpeedButton im Edit erzeugen

  Alt 25. Feb 2003, 12:37
Wie erstelle ich zur Laufzeit im OnEnter Ereignis einer Edit Komponente ein SpeedButton, der dann im Edit angezeigt wird?

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 25. Feb 2003, 12:39
Das zur Laufzeit erzeugen von Komponenten hatten wir schon öfters im Forum, bitte suchen.

Abner was soll der Button im Edit?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 25. Feb 2003, 13:06
Das Erzeugen ist ja auch nicht wirklich das Problem, nur der Button ist immer hinter dem Edit!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4
  Alt 25. Feb 2003, 13:15
Warum sagst du das nicht gleich?
Schon mal SetParent probiert? Oder SetWindowPos? Allerdingst dürftest du Probleme bekommen, wenn der Speedbutton kein Handle hat, da er evntuell von TGraphicControl abgeleitet ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5
  Alt 25. Feb 2003, 13:23
Nicht nur "eventuell". Er ist es.
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#6
  Alt 25. Feb 2003, 13:55
Hi Tpercon,

meinst du sowas?
Delphi-Quellcode:
procedure TForm1.Edit1Enter(Sender: TObject);
var
  Button: TSpeedButton;
begin
  Button := TSpeedButton.Create(TComponent(Sender));
  with Button do begin
    Parent := TWidgetControl(Sender);
    Caption := 'Test';
    Left := TEdit(Sender).Width - 40;
    Top := 2;
    Width := 38;
    Height := Parent.Height - 2;
    Flat := True;
    Font.Color := clRed;
    Font.Style := Font.Style + [fsBold];
    OnClick := ButtonClick;
  end;
end;

procedure TForm1.ButtonClick(Sender: TObject);
begin
  ShowMessage('Test');
end;

procedure TForm1.ButtonClick(Sender: TObject);
begin
  ShowMessage('Test');
end;
Es wäre aber intelligenter, den Button im OnCreate-Ereignis zu erstellen und ihn nur im OnEnter-Ereignis sichtbar bzw. im OnExit-Ereignis unsichtbar zu machen. So wie hier wird nämlich bei jedem OnEnter-Ereignis der Button neu erstellt.

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#7
  Alt 25. Feb 2003, 14:10
Was bedeutet denn TWidgetControl?
Erstens meckert Delphi da und zweitens läßt sich in der OH auch nichts dazu finden.
  Mit Zitat antworten Zitat
janjan

Registriert seit: 16. Jan 2003
Ort: Bonn ("links über Königswinter ")
240 Beiträge
 
Delphi 4 Standard
 
#8
  Alt 25. Feb 2003, 14:33
Änder es mal in TWinControl. TWidgetControl wird in Kylix benutzt, kuck mak auf d3g's Delphi Version
Die Wichtigkeit eines Postings im Forum ist reziprok zur Anzahl der enthaltenenen, kumulierten Ausrufungszeichen!!!
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#9
  Alt 25. Feb 2003, 18:13
Danke!
Nur der SpeedButton bekommt leider den gleichen Cursor wie das Edit, kann man das noch ändern, außer über ne Abfrage im MouseMove der Edit Komponente?
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#10
  Alt 25. Feb 2003, 19:11
Wie wär's mit der Property Cursor des SpeedButtons?
Delphi-Quellcode:
procedure TForm1.Edit1Enter(Sender: TObject);
var
  Button: TSpeedButton;
begin
  Button := TSpeedButton.Create(TComponent(Sender));
  with Button do begin
    // ...
    Cursor := crHandPoint;
  end;
end;
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz