AGB  ·  Datenschutz  ·  Impressum  







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

Handles?!

Ein Thema von Stefan92 · begonnen am 22. Jan 2007 · letzter Beitrag vom 22. Jan 2007
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Handles?!

  Alt 22. Jan 2007, 20:04
Ich versuch mal von ganz vorn anzufangen. Unter Windows ist so ziemlich alles ein Fenster. Ein Button, ein Textfeld, eine Listbox, die Taskleiste etc.
Jedes Fenster hat auch ein Handle welches dazu dient dieses Fenster anzusprechen. Es ist sozusagen die ID des Fensters. Wenn du ein Fenster maximieren, minimieren, neu zeichnen lassen, oder irgendetwas anderes damit machen willst musst du das über diese ID/Handle machen. Mit SendMessage kannst du eben an diese ID eine Nachricht schicken und zusätzliche Parameter. Der erste Paramter ist bei SendMessage das Handle, der zweite dann die Nachricht (z.B.: wm_paint damit sich was malt, wm_erasebkgnd damit der Hintergrund neu gemalt wird etc.) und die beiden letzten Paramter sind abhängig von der Message.

Ab hier nur weiterlesen wenn du durcheinander gebracht werden willst
Diese Handles sind also eine ganz praktische Sache um ein Fenster eindeutig zu identifizieren. Allerdings gibt es nicht nur für Fenster ein Handle sondern für viel weitere Sachen auch. Zum Beispiel wenn du dir Dateien eines Ordners auflisten lassen willst. Allerdings sind dies dann keine Fensterhandles mehr und somit geht auch SendMessage nicht zu verwenden.
Willst du zum Beispiel den Inhatl eines Ordners auflisten ruft man FindFirst auf und es wird innerhalb der Struktur eine ID/Handle zurück gegeben. Über dieses Handle wird dann das Suchergebnis/Auflistungsergebnis angesprochen. So übergibt man FindNext eben diese Struktur mit dem Handle damit die Nächste gefundene Datei zurück geliefert wird etc.

Im Endeffekt sind Handles (in deinem Fall Fensterhandles) also eine Art ID um etwas anzusprechen.

[Edit]
Zu deiner konkreten Frage. Dazu musst du die Message/Nachricht herausfinden welche dafür nötig ist und dann muss eben diese mit SendMessage an das Handle gesendet werden
Aber am besten du erstellst für diese konkrete Frage einen neuen Thread und beschreibst was du ganz konkret vor hast.
[/Edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
 


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 06:55 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