Fenster in der IDE

15/01/2009 - 14:42 von Matthias Kahlert | Report spam
Hallo zusammen,

gibt es eine Möglichkeit, per Programm herauszufinden, welche Fenster
gerade in der IDE geöffnet ist?

Mit WONTOP() bekomme ich zwar raus, wie das aktuelle Fenster heißt, aber
ich würde gerne wissen, wie die dazugehörige Datei oder PRG oder DBF
oder was auch immer heißt (mit vollem Pfad). Außerdem funktioniert
WONTOP() nicht mit z.B. einer Methode einer Form, dort kommt als
Ergebnis nur sowas wie "cmdClose.Click" oder àhnliches...

Ich will mir in der IDE ein Menü einbauen, mit dem ich auf die aktuelle
Datei eine Aktion starten kann...

Matthias Kahlert
[MaxPro] Software
http://www.max-pro.de
 

Lesen sie die antworten

#1 Olaf Doschke
15/01/2009 - 15:29 | Warnen spam
Hallo Matthias,

Public Array gaEnv[25]
Set Library to foxtools additive
ON KEY LABEL F5 _EdGetEnv(_WOnTop(), @gaEnv)

Aber das hilft nur bei PRGs,
in gaEnv[1] hast Du dann den Dateinamen
des PRG, was im aktiven Editfenster gerade
bearbeitet wird. Aber eben nur bei PRGs.
Das Array hat 25 Eintràge mit Editoroptionen.
Der 25. ist der Fenstertyp.

_BEAUTIFY kannst Du auch nutzen und auf
ein PRG stellen, was dann als Parameter
einen TEMP-Namen gibt, der den aktuellen
Quellcode enthàlt, wenn es in die Richtung
Quellcodeformatierung geht.

Ich denke mal Du wirst eher etwas mit
einem ProjectHook, allerdings kannst Du
da nur beim Öffnen einer Projektdatei
sehen, welche Datei geöffnet wird, kriegst
den Fensterwechsel zwischen verschiedenen
offenen Dateien/Methoden aber nicht mit.

Das und Foxtools zusammen könnte aber evtl.
helfen. Bei Methoden ist ja immerhin der
Fenstertitel auch hilfreich, mittels
_WhToHWND( _WOnTop ) kriegst Du ein "echtes"
Windows Handle und kannst darüber Titel
o.à. per API ermitteln.

Tschüß, Olaf.

Ähnliche fragen