AGB  ·  Datenschutz  ·  Impressum  







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

Buttonbeschriftungen auflisten

Ein Thema von Zacherl · begonnen am 5. Sep 2004 · letzter Beitrag vom 5. Sep 2004
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Buttonbeschriftungen auflisten

  Alt 5. Sep 2004, 11:37
Hallo,

hat jemand eine Idee, wie man Buttonbeschriftungen, über denen sich der Cursor befindet auflisten kann?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Buttonbeschriftungen auflisten

  Alt 5. Sep 2004, 11:42
mit WindowFromPoint einfach das Handle des darunterliegenden Controls holen und dann GetClassName aufrufen um zu prüfen ob es ein button ist. Wenn es ein Button ist mit GetWindowText die Caption holen (oder mit SendMessage und wm_getText)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Buttonbeschriftungen auflisten

  Alt 5. Sep 2004, 11:44
Hi,

meinst du so etwas?

Delphi-Quellcode:
// Edit:
uses TypInfo;

function GetCaptionAtCursor: String;
var
  Pos : TPoint;
  Ctrl: TWinControl;
begin
  GetCursorPos(Pos);
  Ctrl := FindVCLWindow(Pos);
  if (Ctrl <> nil) and (IsPublishedProp(Ctrl, 'Caption')) then
    Result := GetStrProp(Ctrl, 'Caption') else
  Result := '';
end;
Edit: Mist, merke gerade, dass er das in "Windows API" gepostet hat - Dann musst du SirT's Tipp befolgen...

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Buttonbeschriftungen auflisten

  Alt 5. Sep 2004, 11:47
@mirage228: funktioniert das nur innerhalb der eigenen Anwendung? Ich denk schon da über Processgrenzen sonst schlecht alle Properties abgefragt werden können.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Buttonbeschriftungen auflisten

  Alt 5. Sep 2004, 11:48
Zitat von SirThornberry:
@mirage228: funktioniert das nur innerhalb der eigenen Anwendung? Ich denk schon da über Processgrenzen sonst schlecht alle Properties abgefragt werden können.
Ja, das funktioniert nur innerhalb der eigenen Anwendung. Und auch nur, falls man die VCL verwendet.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Buttonbeschriftungen auflisten

  Alt 5. Sep 2004, 11:53
Das sollte global funktionieren (aus vorhandenen sourcen zusammengesucht und ungetestet)
Delphi-Quellcode:
var text: PChar;
    tmpint: Integer;
    CursorPos: TPoint;
    Lhwnd: Cardinal;
begin
  GetCursorPos(CursorPos);
  Lhwnd := WindowFromPoint(CursorPos);

  tmpint := SendMessage(Lhwnd, WM_GETTEXTLENGTH, 0, 0) + 1;
  getmem(text, tmpint);
  SendMessage(Lhwnd, WM_GETTEXT, tmpint, Integer(Text));
  Edit1.Text := String(text);
  freemem(text);
Bei diesem Beispiel fehlt noch die Prüfung auf den Klassennamen wenn man nur auf Buttons reagieren möchte.
Diesen erhält man ganze einfach so:
Delphi-Quellcode:
var Classenname: Array[0..255] of Char;
begin
  GetClassName(LHwnd, Classenname, 255);
  Edit2.Text := String(Classenname);
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 03:30 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