AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Komponenten zur Laufzeit erzeugen und auf Form bewegen!?
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

Ein Thema von torud · begonnen am 10. Jul 2004 · letzter Beitrag vom 22. Jul 2004
Antwort Antwort
Seite 1 von 2  1 2      
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 10. Jul 2004, 13:53
Hallo Leute!

Ich würde mir gern ein kleines Tool schreiben, mit dem ich ähnlich wie im Delphi mir aus einer PageControl Komponenten auf ein Form ziehen kann und ihnen Scripte oder sonstige Jobs zuweisen kann.

Die Idee verfolgt mich schon eine Weile und nun will ich sie angehen, habe aber keine Vorstellung davon, wie ich zumindest den ersten Teil davon realisieren könnte. Also ein PageControl zu erzeugen, mit einer Toolbar und ein paar Toolbuttons ist kein Problem. Auch dürfte es kein Problem sein nach Klich auf einen Button ein bestimmtes Control zu erzeugen. Aber wie ist es mit dem bewegen zur Lauzeit???

Gibts es sonst noch Hürden, die ich zu beachten hätte?

ps.: Ich habe nicht vor Delphi neu zu erfinden!
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 10. Jul 2004, 13:58
Du musst dafür sorgen das klicks etc nicht ausgeführt werden. Eine Möglichkeit wäre das Control in ein Panel zu stopfen und darüber ein transparentes TWinControl zu legen welches dann die Move, Click etc. messages abfängt und dann fürs verschieben verantwortlich ist. Die Anker zum Größe ändern und verschieben natürlich nicht vergessen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 10. Jul 2004, 14:03
Hallo Sir,

so etwas habe ich noch NIE gemacht, hast Du noch Zeit für etwas mehr an Informationen ???

Denn mit der Info ein transparentes TWinControl drüber zu legen, kann ich irgendwie nix anfangen. Ich habe auch noch nie einen Button erzeugt und dann die MouseMove und Click-Events in dieser Richtung ausgewertet.

Gibt es irgendwelche BeispielCodes, damit man sich langsam "reinfühlen" kann?
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 10. Jul 2004, 14:11
hier am beispiel eines images:
Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const sc_dragmove = $f012;
begin
  ReleaseCapture;
  TWinControl(Image1).perform(wm_syscommand,sc_dragmove, 0);
end;
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 10. Jul 2004, 14:13
Ich habe die Suche nochmals bedient und bin fündig geworden!

Danke an alle, die gerade im Sprunge waren eine Antwort zu verfassen.

Hier die 2 Links:

Eine eine Lösung aus der Schweiz

Und hier eine fertige Komponente

Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 10. Jul 2004, 14:15
@Meflin: Von der Idee her ok aber TImage ist kein TWinControl... ich such mal schnell noch paar sourcen raus bzw. versuch was zusammenzubasteln

[Edit]War mal wieder zu langsam... Die Komponente scheint mir ganz ok zu sein, das vom Swissdelphicenter find ich ni so toll da man dies für jede Componente erstellen muss und die eventuell schon zugewiesenen onMouseDowns etc verloren gehen, was bei der Komponente nicht der Fall zu sein scheint[/Edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#7

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 12. Jul 2004, 06:08
Hallo nochmals!

Die Komponente, welche ich im vorherigen Posting angegeben habe, ist wirklich Klasse. Mich interessiert jetzt aber noch, wie ich das Verschieben mit so einem Raster wie im Delphi realisieren kan, damit der User ein optisches und reales Hilfsmiteel zum verschieben und "Einrasten" hat.

Soll ich das mit einem Hintergrundbild wie im Delphi machen?
Aber wie kann ich dann ein solches Raster realisieren?
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#8

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 14. Jul 2004, 19:39
der Frage schliess ich mich an... hab zwar einen etwas abweichenderen Code, würde aber auch gerne wissen, wie ich das sog. "Snap-On-Grid" realisieren könnte

Delphi-Quellcode:
ReleaseCapture;
TPanel(Sender).perform(WM_SysCommand, $F012, 0);
thx

tyler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 14. Jul 2004, 20:31
@torud: Das raster bekommst du ganze einfach hinn indem du einfach im OnPaint die Punkte in einem gewissen abstand aufs Form malst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#10

Re: Komponenten zur Laufzeit erzeugen und auf Form bewegen!?

  Alt 20. Jul 2004, 10:24
OK, das beantwortet die Frage, wie ich ein Raster zumindest gemahlt bekomme.Wie aber kann man denn dann die Komponenten an diesem "virtuellen" Raster "einrasten"?

Hm, !???
Danke
Tom
  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 09:00 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