Entwickler-Ecke
Windows API - brauche Handle von Edit ctrl ...
ripper8472 - Di 13.05.03 15:48
Titel: brauche Handle von Edit ctrl ...
Hallo!
Ich habe vor, eine "AutoVervollständigung" für beliebige Programme zu schreiben. Dazu benötige ich noch folgendes:
1. Handle das aktiven Controls
2. rausfinden des Typs des controls (genauer: ob es eine art edit oder memo ist, was man bearbeiten kann)
3. zugriff auf den text und seine markierung (pos,len)
4. evtl. noch die koordinaten des edits (global), damit ich n kleines fenster aufpoppen lasen kann
die wortliste wird automatisch erstellt (beim tippen)
thx für jede hilfe[/list]
ripper8472 - Mi 14.05.03 16:50
thx für den verweis. werd ich "ausschlachten"
ich meld mich morgen wieder...
ripper8472 - Mi 14.05.03 16:59
das programm hat keinen brauchbaren pas code
bekomm ich diese funktionen sonst noch wo her?
aber trotzdem danke, die seite ist ne echte fundgrube!
Delete - Mi 14.05.03 17:09
| ripper8472 hat folgendes geschrieben: |
| das programm hat keinen brauchbaren pas code |
Bitte wie? :shock: Der Code scheint aber so brauchbar zu sein, dass ihn der Kompiler und Linker versteht und die Anwendung das macht, was ich will.
Popov - Mi 14.05.03 17:31
Luckie, deine nonVcl Tools sind gut und ausgearbeitet. Allerdings kommt durch das nonVcl Gedöns soviel zusätzliches Zeug zusammen, daß sich einige das garnicht antun wollen den Code zu analisieren. Bevor man das vesentliche erkennt, muß man zuerst den "normalen" Code von dem "extra nonVcl" Code trennen. Inzwischen sehe ich das auch nicht mehr so wild, aber wenn ich die möglichkeit bekomme das gleiche Programm als Vcl und ein mal als nonVcl zu studieren, dann ist das Vcl Programm immer noch die erste Wahl. Was interresieren micht die X-Extra Zeilen die sich nur mit den Messages des nonVcl Codes beschäftigen. Ich schätze, daß sich eine Neuling ein nonVcl erst garnicht antun wird. Der blickt da kaum durch was wichtig und was "unwichtig" ist.
Delete - Mi 14.05.03 17:49
Gelesen habe ich "Gedöns", aber gnädigerweise habe ich "Overhead" gedacht. :wink:
Stimmt schon klar, aber ich versuche den Fenstercode (Oder in Popov-Sprache: Gedöns) vom funktionale Code zu trennen und dann sollte es auch jemanden, der nicht so bewandert in der Programmierung ohne VCL ist, damit klar kommen.
toms - Mi 14.05.03 18:02
Hi,
| Zitat: |
| 1. Handle das aktiven Controls |
GetFocus() ermittelt dir das Handle das Controls mit Fokus.
AttachThreadInput nicht vergessen!
| Zitat: |
| 2. rausfinden des Typs des controls (genauer: ob es eine art edit oder memo ist, was man bearbeiten kann) |
Z.B mit der GetWindowInfo() API.
| Zitat: |
| 3. zugriff auf den text und seine markierung (pos,len) |
Nachrichten schicken. WM_GETTEXT, EM_GETSEL
| Zitat: |
| 4. evtl. noch die koordinaten des edits (global), damit ich n kleines fenster aufpoppen lasen kann |
GetWindowRect() API.
Popov - Mi 14.05.03 18:32
@Luckie
Ich hab jetzt nicht nur deine nonVcl Codes gemeint, sondern auch ander Anbieter. Da gibt es auch welche, wo man derart zwischen den Dateien (und etlichen Includes) springen muß, daß einem die Lust vergeht.
Delete - Mi 14.05.03 20:12
Dieses "Springen" ist aber notwendig, wenn man den Code sauber trennen will. Ich z.B. schreibe meist auch erst mal alles in ein Programm. Sobald ich aber auf Funktionen stoße, die ich häufiger brauche, lagere ich sie aus. Immerhin ist das das Grundkonzept von Pascal respektive Delphi.
Logischerweise sammeln sich dann häufig benutzte Funktionen in einer Unit oder Include-Datei, die kurzerhand eingebunden wird anstelle den Code noch mal zu schreiben. Ich sehe da nichts Ungewöhnliches. :)
Aber recht hast du: für Anfänger bzw. Nicht-NonVCL-Interessierte diese Art der Programmierung schwer zu verstehen und zu lesen. Denn machen wir uns nichts vor: sie ist rückständig im Vergleich zu Objekten und Co.
ripper8472 - Do 15.05.03 09:54
thx toms!
werd ich sofort ausprobieren!
noch was: ich glaube mich erinnern zu können, dass getfocus das element ermittelt das auf meiner form den focus hat, aber nicht das, was systemweit den focus hat. wie ist das?
wie kann ich diese botschaften abschicken, hab sowas noch nicht gemacht.
ich hab ja mit pascal angefangen und das prägt.
thx
ps: nonVCL: ich suche nach pascal code nur in .pas dateien und die einzige pas datei in dem pack hatte grademal ne hand voll funktionen die irgendwas reproduzieren, was delphi (mit vcl) ohnehin schon hat.
das wollt ich nur noch loswerden
Popov - Do 15.05.03 14:03
NonVcl Programme haben viel Code auch in DPR Dateien.
Delete - Do 15.05.03 18:33
| Popov hat folgendes geschrieben: |
| NonVcl Programme haben viel Code auch in DPR Dateien. |
"Viel" ist gut. Es steht eben die Nachrichtenschleife im Hauptprogramm und das Hauptprogramm ist auch bei der VCL in der dpr-Datei, nur das scheinen die wenigsten zu wissen, weil sie sich nicht mit den Grundlagen beschäftigen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!