Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   comboBox OnMouseMove-Eigenschaft zufügen (https://www.delphipraxis.net/75314-combobox-onmousemove-eigenschaft-zufuegen.html)

LokutusvB 17. Aug 2006 14:56


comboBox OnMouseMove-Eigenschaft zufügen
 
Hallo,

bei vielen Objekten sind die Mouse-Events im Objektinspektor schon mit dabei. Bei anderen jedoch nicht. Wie kann ich zum Beispiel für einer comboBox das MouseEvent OnMouseMove festelegen? In die Textansicht wechseln und einfach mit hinzuschreiben hat leider nicht funktioniert.

Neutral General 17. Aug 2006 15:02

Re: comboBox OnMouseMove-Eigenschaft zufügen
 
Komponente -> Neue Komponente
Ableiten von: TComboBox
NeuerName: *beliebig*
-> Ok

QT:

Delphi-Quellcode:
unit MouseMoveComboBox;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TMouseMoveComboBox = class(TComboBox)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property OnMouseMove;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Standard', [TMouseMoveComboBox]);
end;

end.
Komponente -> Komponente installieren -> Unit auswählen -> OK -> kompilieren/installieren -> benutzen

Gruß
Neutral General

LokutusvB 17. Aug 2006 16:00

Re: comboBox OnMouseMove-Eigenschaft zufügen
 
Danke, funktioniert supi.

Nur habe ich jetzt schon so viele comboBoxen und andere Elemente, möchte das ungern alles noch mal neu machen.

Gibt es eien Möglichkeit, bestehenden Komponenten diese Eigenschaft noch nachträglich beizufügen?

Jürgen Thomas 17. Aug 2006 17:29

Re: comboBox OnMouseMove-Eigenschaft zufügen
 
Zitat:

Zitat von LokutusvB
Nur habe ich jetzt schon so viele comboBoxen und andere Elemente, möchte das ungern alles noch mal neu machen.

Gibt es eien Möglichkeit, bestehenden Komponenten diese Eigenschaft noch nachträglich beizufügen?

Nein, natürlich nicht, denn die bestehenden Komponenten sind TComboBox und nicht TMouseMoveComboBox.

Aber Du kannst in Deinen Quelltexten die Klassen mit Notepad u.ä. ändern, sofern Deine Delphi-Version mit *.dfm im Textformat speichert:

1. Sicherungskopien erzeugen; es kommt vor, dass Delphi sich beim Verknüpfen verschluckt.
2. Ändere in den pas-Dateien die Klassen, von der "Deine" ComboBoxen abgeleitet wurden:
Delphi-Quellcode:
//  bisher:
ComboBox7: TComboBox;
//  ändern in:
ComboBox7: TMouseMoveComboBox;
3. Ändere dies ebenfalls in den dfm-Dateien:
Delphi-Quellcode:
//  bisher:
object ComboBox7: TComboBox
//  ändern in:
object ComboBox7: TMouseMoveComboBox
Anschließend solltest Du in der IDE die neuen Komponenten bearbeiten können.

Viel Erfolg! Jürgen

_frank_ 17. Aug 2006 17:55

Re: comboBox OnMouseMove-Eigenschaft zufügen
 
Zitat:

Zitat von Jürgen Thomas
Aber Du kannst in Deinen Quelltexten die Klassen mit Notepad u.ä. ändern, sofern Deine Delphi-Version mit *.dfm im Textformat speichert:

1. Sicherungskopien erzeugen; es kommt vor, dass Delphi sich beim Verknüpfen verschluckt.
2. Ändere in den pas-Dateien die Klassen, von der "Deine" ComboBoxen abgeleitet wurden:
Delphi-Quellcode:
//  bisher:
ComboBox7: TComboBox;
//  ändern in:
ComboBox7: TMouseMoveComboBox;
3. Ändere dies ebenfalls in den dfm-Dateien:
Delphi-Quellcode:
//  bisher:
object ComboBox7: TComboBox
//  ändern in:
object ComboBox7: TMouseMoveComboBox

kannst dazu auch dfmedit nehmen ;), das macht ziemlich alles alleine (backup auch, aber nur eins, also mach lieber selbst zusätzlich noch eins, bevor dfmedit sein eigenes backup überschreibt, wenn du nochmal speicherst ;)). Die pas-datei kannst du damit auch automatisch anpassen lassen.
nehm aber die letzte beta (0.1.1.13), da ich noch parsing-bugs entfernt habe.

Gruß Frank

LokutusvB 18. Aug 2006 07:01

Re: comboBox OnMouseMove-Eigenschaft zufügen
 
Danke für die hilfreichen Tips, so werde ich das machen... :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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