Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Ich finde keine ChildHandles beim TSaveDialog ... (https://www.delphipraxis.net/51835-ich-finde-keine-childhandles-beim-tsavedialog.html)

FriFra 19. Aug 2005 21:45


Ich finde keine ChildHandles beim TSaveDialog ...
 
Ich versuche nun schon eine ganze weile irgendwie an das Handle das Filename-Edit des Savedialogs zu kommen...

Ich habe es mit dieser unit versucht: http://www.delphipraxis.net/internal...hlight=fenster

wlist.EnumChildWindows(SaveDialog1.Handle); liefert jedoch immer nichts... es werden einfach keine Childs gefunden...

P.S.: Ich hab auch schon div. andere Beispielcodes getestet, alle mit dem gleichen Effekt :gruebel:

Luckie 19. Aug 2005 23:06

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
Such dir mit einem Tool die ID des Edits und dann benutzt du MSDN-Library durchsuchenGetDlgItem, um dir das Handle zu holen. Ist am einfachsten.

FriFra 20. Aug 2005 07:21

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
Zitat:

Zitat von Luckie
Such dir mit einem Tool die ID des Edits

Welches Tool ist denn dafür geeignet? Bisher hab ich meistens XSpy verwendet, aber das hilft mir hier leider nicht :roll:

FriFra 20. Aug 2005 07:35

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
:oops: jetzt hab ich die ID doch mit XSpy gefunden :) ...

FriFra 20. Aug 2005 08:13

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
:x Zu früh gefreut...

Das Handle bekomme ich trotz ItemId nicht :roll:
Delphi-Quellcode:
  wnd := GetDlgItem(SaveDialog1.Handle, 1148);
  if wnd <> 0 then
  begin
    showmessage(IntToStr(wnd));
  end;

SirThornberry 20. Aug 2005 08:59

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
hast du schon mal geschaut welchen Wert das Handle deines SaveDialogs hat? Ich hab mal das ganze mit dem Opendialog probieren wollen und musste feststellen das, das Handle vom Dialog 0 war.
Es kommt also darauf an, zu welchem Zeitpunkt du das ganze versuchst zu performane. Wenn du es zum Beispiel im OnShow des Dialogs machst ist ein Handle vorhanden, wenn der Dialog jedoch nicht mehr eingeblendet ist, so ist auch das handle wieder 0.

FriFra 20. Aug 2005 09:04

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
Mein SaveDialog hat ein Handle, denn ich mache das ganze OnSelectionChange ;)

SirThornberry 20. Aug 2005 09:08

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
habs grad beim probieren mitbekommen das es irgendwie bei mir auch nicht geht. Was mir aber auch aufgefallen ist - das handle von Dialog.Handle ist nicht das gleiche Handle wie das des sichtbaren Dialog-Fensters.

toms 20. Aug 2005 09:09

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
Hallo,


Mein WinSpy liefert folgenden Code und findet das File Name Edit:

Delphi-Quellcode:
var
  wnd: HWND;
begin
  wnd := FindWindow('#32770',nil); // oder was auch immer...
  wnd := FindWindowEx(wnd, 0, 'ComboBoxEx32', nil);
  wnd := FindWindowEx(wnd, 0, 'ComboBox', nil);
  wnd := FindWindowEx(wnd, 0, 'Edit', nil);
  if wnd <> 0 then
  begin
    // ....gefunden!
  end;
end.

Edit: Ansonsten mal hier schauen: http://groups.google.ch/group/borlan...2969077?hl=de&

SirThornberry 20. Aug 2005 09:11

Re: Ich finde keine ChildHandles beim TSaveDialog ...
 
@toms: Zum problem wird es nur wenn es noch einen weiteren Dialog gibt, denn dann ist nicht mehr sicher das man auch den eigenen findet. Daher finde ich den Lösungsversuch über das Handle des Dialogs zu gehen bedeutend besser.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 Uhr.
Seite 1 von 3  1 23      

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