Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ChildDlgItemIDs beim Open-/SaveDialog gesucht (https://www.delphipraxis.net/68520-childdlgitemids-beim-open-savedialog-gesucht.html)

himitsu 1. Mai 2006 02:10


ChildDlgItemIDs beim Open-/SaveDialog gesucht
 
Liste der Anhänge anzeigen (Anzahl: 2)
Morschen,

's geht um dieses Thema Ich finde keine ChildHandles beim TSaveDialog ....

Würde gern wissen, ob es noch mehr unterschiedliche DlgItemIDs gibt.

Bisher hab ich zwar 2 unterschiedliche IDs für das DateinameFeld bekommen,
außerdem ist auch noch die Klasse eine andere ... einmal ist das DateinameFeld ein EDIT und dann wieder eine COMBOBOX (je nach Windowsversion/Einstellung), daher kann ich ja nichmal nach einem EDIT suchen, wenn ich das DateinameEit suche -.-''

Daher ... wenn wer Zeit hat ... dann wäre es nett, wenn ihr mal nachsehen könntet, was bei euch zu finden ist.

Eingach mal meine Demo runterladen, den OpenDialogA öffnen, wieder schließen (ESC) und dann ganz oben nachsehn.

Hier (WinXP ohne SP) steht Folgendes:
Code:
Msg: WM_NOTIFY         wParam: 0
  POFNotifyExA(LParam)^.hdr.code: CDN_INITDONE
  DlgItemIDs:
    [b]1[/b], Button, "Ö&ffnen"
    [b]2[/b], Button, "Abbrechen"
    [b]1038[/b], Button, "&Hilfe"
    [b]1040[/b], Button, "Sch&reibgeschützt öffnen"
    [b]1088[/b], Static, ""
    [b]1089[/b], Static, "Objekt&typ:"
    [b]1090[/b], Static, "Objekt&name:"
    [b]1091[/b], Static, "&Suchen in:"
    [b]1120[/b], ListBox, ""
    [b]1136[/b], ComboBox, "Textdatei (*.txt)"
    [b]1137[/b], ComboBox, ""
    [b]1148[/b], ComboBoxEx32, ""
    [b]1184[/b], ToolbarWindow32, ""
und in einem WinXP mit SP1 konnte ich bisher
für das DateinamrEdit statt der ID 1148 die ID 1152 entdecken.


theoretisch sollte die UnicodeVersion (OpenDialogW) die selben Werte liefern (wenn sie läuft, also nach Win98) ... falls da wer Unterschied findet ... bitte melden.


PS: das Programmchen macht natürlich nichts, außer diese Dialoge aufzurufen
im anderen Thread sind ja noch die ältern QuellCodes zu finden, wenn's jemand nicht glaubt ._.
('s wäre jetzt nur zu umständlich diese Datei nochmals zu verpacken ... für's Testen)



schonmal danke für deine Mühe
dein himilein

[add]
hab mal 'ne neuer Datei hochgeladen und diesesmal den QuellText mit nachgereicht

himitsu 3. Mai 2006 10:11

Re: ChildDlgItemIDs beim Open-/SaveDialog gesucht
 
*push*

hab selber immernoch nichts gefunden,
aber irgendwer wird doch (hoffentlich) irgendwas dazu wissen http://www.fnse.de/S01/0VO.gif,
denn die ID war ja bisher das einige Feste an den Controls (wie ich bisher dachte) ... alles andere (z.B. Typ[Edit/ComboBox], Beschriftung/Inhalt, Handle) kann sich ja ändern und sonst wüste ich nicht, woran man noch erkennen könnte was was ist.

Luckie 3. Mai 2006 10:30

Re: ChildDlgItemIDs beim Open-/SaveDialog gesucht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang mal mein Ergebnis. Windows XP Professional SP2

himitsu 3. Mai 2006 11:48

Re: ChildDlgItemIDs beim Open-/SaveDialog gesucht
 
Na toll, es wird ja immer besser (du willst mich doch nicht etwa ärgern :shock: )
Jetzt ist die DateinameEditID wieder so wie ohne SP

Also alle ID gleich nur halt noch das mit dem DateinameEdit

XP Pro ohne SP und mit SP2 die 1148
und bei XP Pro SP1 1152 :wall:


Mal sehn, sich in den anderen Windowsversionen nochmal was anderes ergibt,
aber wenn die 1152 (beim XPPro-SP1) nur'n Ausrutscher war, dann läuft es zumindestens, da ich derzeit beide IDs verwende.
(es wäre aber auch echt gemein, wenn ich's rein zufällig gerade auf dem einzigen Windows mit diesem Fehler getestet hätte)

etwa so:
Delphi-Quellcode:
EditHandle := GetDlgItemID(Window, 1148);
If EditHandle = 0 Then EditHandle := GetDlgItemID(Window, 1152);

Und hier auf'm Windows Terminal Server (denk ma Win2K+SP1) kann ich's Programm nichma Testen -.-''


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