Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Handle als Parent verwenden (https://www.delphipraxis.net/106373-handle-als-parent-verwenden.html)

xZise 9. Jan 2008 21:50


Handle als Parent verwenden
 
Hallo DP,
Ich habe ein kleines Problem: Und zwar habe ich Programm in einer dll. Ich suche nun das Handle einer Toolbar, und versuche dann den Button drauf zu platzieren.
Problem dabei ist, das ich nicht weiß, wie ich Delphi verklickere, dass das Handle ein Parent sein kann.

MfG
xZise

sirius 9. Jan 2008 22:12

Re: Handle als Parent verwenden
 
Gibts da nicht CreateParent oder so :gruebel:

Christian Seehase 9. Jan 2008 22:18

Re: Handle als Parent verwenden
 
Moin Fabian,

Gegenvorschlag ;-) : MSDN-Library durchsuchenSetParent

xZise 9. Jan 2008 22:32

Re: Handle als Parent verwenden
 
Aldo der ToolButton hat weder noch eine der hier genannten Eigenschaften :)

MfG
xZise

Christian Seehase 9. Jan 2008 22:35

Re: Handle als Parent verwenden
 
Moin Fabian,

das ich da eine Suchanfrage zum MSDN gepostet habe, es sich also um eine API-Funktion handelt, hast Du aber schon gesehen... ;-)

xZise 9. Jan 2008 22:39

Re: Handle als Parent verwenden
 
Hab mich schon gewundert, seit wann Delphi mit public Getter und Setter arbeitet :oops:

[edit=1]Naja... Leider haben ToolButtons keine Handle eigenschaft :([/edit]

Mfg
xZise

bitsetter 9. Jan 2008 23:26

Re: Handle als Parent verwenden
 
Zitat:

Zitat von xZise
Ich suche nun das Handle einer Toolbar, und versuche dann den Button drauf zu platzieren.

Hi,

gehört das Fenster auf dem sich die Toolbar befindet zu deinem Programm?

xZise 10. Jan 2008 19:32

Re: Handle als Parent verwenden
 
OOPs.

Da haste du was falsch verstanden ;)
ich habe das Handle der Toolbar, und ein TToolButton-Objekt.
Wie kann ich nun das TToolButton-Objekt auf die ToolBar platziern?
Wichtig ist, dass das von einer DLL ausgeschied. Wenn ich dort das genauso handhaben kann, ist aber da ja kein Problem ;)

MfG
xZise

PS: Zur Frage: Nein.

bitsetter 10. Jan 2008 19:51

Re: Handle als Parent verwenden
 
Zitat:

Zitat von xZise
OOPs.

Da haste du was falsch verstanden ;)

Nein, ich habe es schon richtig verstanden.

Zitat:

Zitat von bitsetter
gehört das Fenster auf dem sich die Toolbar befindet zu deinem Programm?

Zitat:

Zitat von xZise
PS: Zur Frage: Nein.

Arbeitest du mit Dll Injection, wurde das Programm auf dem sich die Toolbar befindet in Delphi geschrieben? Ansonsten kannst du ja noch ein TTBBUTTON aus der CommCtrl verwenden.

xZise 11. Jan 2008 14:16

Re: Handle als Parent verwenden
 
Zitat:

Zitat von bitsetter
Zitat:

Zitat von bitsetter
gehört das Fenster auf dem sich die Toolbar befindet zu deinem Programm?

Zitat:

Zitat von xZise
PS: Zur Frage: Nein.

Arbeitest du mit Dll Injection, wurde das Programm auf dem sich die Toolbar befindet in Delphi geschrieben? Ansonsten kannst du ja noch ein TTBBUTTON aus der CommCtrl verwenden.

Also es müsste in Delphi geschrieben sein.

Aber das löst nicht das Parent Problem?

MfG
xZise

himitsu 11. Jan 2008 14:43

Re: Handle als Parent verwenden
 
wenn es in Delphi geschrieben wurde (mölichst mit der gleichen Version)
könntest du eventuell noch versuchen rauszufinden wo das Objekt zu dem Handle liegt und direct auf dieses zugreifen.

Oder zu erstellst die ein eigenes Objekt, trennst von diesem sein "Handle" (dem Windows-Ding) ab,
fügst das gewünschte Handle dort ein und greifst über das neue Objekt zu?
Aber mit direkt in den Objekten gespeicherten Daten sollte es beim Zweiten eventuell Probleme geben, solange sich die Objekte nicht selbst über ihr Kind (Handle) aktualisieren.

Wotan89 11. Jan 2008 14:48

Re: Handle als Parent verwenden
 
Ist es nicht einfach möglich es mit Button1.ParentWindow zu regeln? Wie in dieser Art und Weise:
Delphi-Quellcode:
Button1.ParentWindow:=Toolbar1Handle;

xZise 11. Jan 2008 20:17

Re: Handle als Parent verwenden
 
Zitat:

Zitat von himitsu
wenn es in Delphi geschrieben wurde (mölichst mit der gleichen Version)
könntest du eventuell noch versuchen rauszufinden wo das Objekt zu dem Handle liegt und direct auf dieses zugreifen.

Aha?? Und wie soll das gehen?

Zitat:

Zitat von himitsu
Oder zu erstellst die ein eigenes Objekt, trennst von diesem sein "Handle" (dem Windows-Ding) ab,
fügst das gewünschte Handle dort ein und greifst über das neue Objekt zu?

Und wie geht das?

Zitat:

Zitat von himitsu
Aber mit direkt in den Objekten gespeicherten Daten sollte es beim Zweiten eventuell Probleme geben, solange sich die Objekte nicht selbst über ihr Kind (Handle) aktualisieren.

Aha?!

Warum kann man denn kein Handle, als Parent verwenden :(

MfG
xZise

sirius 11. Jan 2008 20:28

Re: Handle als Parent verwenden
 
Zitat:

Zitat von xZise
Warum kann man denn kein Handle, als Parent verwenden :(

Weil TToolbutton kein TWinControl ist.
TToolbutton ist nur eine GRafik, die auf der Toolbar platziert wird und von ihr verwaltet wird.

xZise 13. Jan 2008 10:03

Re: Handle als Parent verwenden
 
Aha... Das heißt wie muss man dann vorgehen?

MfG
xZise

sirius 13. Jan 2008 10:28

Re: Handle als Parent verwenden
 
Schwierig.
folgende Vorschläge (ich weis nicht, ob und wie schwer deren Umsetzung ist):
- nicht TToolbutton, sondern einen anderen Button verwenden
- dir alle Nachrichten von der Toolbar schicken lassen

xZise 13. Jan 2008 11:52

Re: Handle als Parent verwenden
 
Okay ;) Dann werde ich doch wohl eher auf die Implementation von Gaijin warten :)

MfG
xZise


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