AGB  ·  Datenschutz  ·  Impressum  







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

RegisterDragDrop Wann?

Ein Thema von Gruber_Hans_12345 · begonnen am 1. Dez 2022 · letzter Beitrag vom 1. Dez 2022
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#1

RegisterDragDrop Wann?

  Alt 1. Dez 2022, 10:21
Hallo ich hab ne Frage zum RegisterDragDrop.
alles funktioniert ganz gut, wenn ich das RegisterDragDrop irgendwann aufrufe nachdem die Control erzeugt worden sind.
Allerdings wenn ich im constructor Create oder im AfterConstruction. meines TWinControls aufrufe, dann bekomme ich beim RegisterDragDrop zwar keinen Fehler, aber es wird einfach kein Drag akzeptiert.

Salbe Funktion in einem Timer, oder per Button aufgerufen funktioniert.

Das TWinControl das ich da verwende, wird zur laufzeit erzeugt.

Weiss wer wo ich das Register am beten reinpacken kann?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: RegisterDragDrop Wann?

  Alt 1. Dez 2022, 10:58
Das TWinControl das ich da verwende, wird zur laufzeit erzeugt.

Weiss wer wo ich das Register am beten reinpacken kann?
Öhm, direkt nach dem erzeugen würde ich sagen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#3

AW: RegisterDragDrop Wann?

  Alt 1. Dez 2022, 11:04
Nein wenn ich es direkt nach dem erzeugen mache, dann funktioniert das bei mir nicht, dann akzeptiert er keine OLE DragDrop's
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.646 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: RegisterDragDrop Wann?

  Alt 1. Dez 2022, 11:06
Weiss wer wo ich das Register am beten reinpacken kann?
Du kannst z.B. auf CM_SHOWINGCHANGED reagieren. Wenn das Control dann sichtbar ist, kannst du es registrieren, wenn es dann unsichtbar ist, wieder deregistrieren. Visible ist zum Zeitpunkt der Nachricht bereits gesetzt.

Öhm, direkt nach dem erzeugen würde ich sagen.
Nein, dass das nicht geht, steht ja schon in der Frage. Das liegt daran, dass das Control zu dem Zeitpunkt noch "in der Luft hängt". Es hat noch keinen Parent und ist nicht sichtbar.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#5

AW: RegisterDragDrop Wann?

  Alt 1. Dez 2022, 11:35
Weiss wer wo ich das Register am beten reinpacken kann?
Du kannst z.B. auf CM_SHOWINGCHANGED reagieren. Wenn das Control dann sichtbar ist, kannst du es registrieren, wenn es dann unsichtbar ist, wieder deregistrieren. Visible ist zum Zeitpunkt der Nachricht bereits gesetzt.

Öhm, direkt nach dem erzeugen würde ich sagen.
Nein, dass das nicht geht, steht ja schon in der Frage. Das liegt daran, dass das Control zu dem Zeitpunkt noch "in der Luft hängt". Es hat noch keinen Parent und ist nicht sichtbar.
Danke das funkt, übrigens das Parent reicht auch nicht, weil einer meiner Versuche war es beim SetParent reinzuhängen
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
704 Beiträge
 
Delphi 12 Athens
 
#6

AW: RegisterDragDrop Wann?

  Alt 1. Dez 2022, 12:02
Hallo ich hab ne Frage zum RegisterDragDrop.
alles funktioniert ganz gut, wenn ich das RegisterDragDrop irgendwann aufrufe nachdem die Control erzeugt worden sind.
Allerdings wenn ich im constructor Create oder im AfterConstruction. meines TWinControls aufrufe, dann bekomme ich beim RegisterDragDrop zwar keinen Fehler, aber es wird einfach kein Drag akzeptiert.

Salbe Funktion in einem Timer, oder per Button aufgerufen funktioniert.

Das TWinControl das ich da verwende, wird zur laufzeit erzeugt.

Weiss wer wo ich das Register am beten reinpacken kann?
CreateWnd des Controls, nach dem inherited-Call, unregister in DestroyWnd vor dem inherited call. Ole drag&drop braucht halt ein window handle und die VCL erzeugt die erst wenn benötigt und auch danach können sie manchmal zerstört und neu angelegt werden.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.646 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: RegisterDragDrop Wann?

  Alt 1. Dez 2022, 12:42
Stimmt, das dürfte der sauberste Zeitpunkt sein.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:57 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