Kannst ja mal die Delphi Hilfe zum Typ "Cardinal" aufrufen. Dann bekommst du eine Auflistung aller Typen und deren Gültigkeitsgrenzen.
Das Windows Betriebssystem stellt allen
Win32 Programmen die sogenannte
WinAPI zur Verfügung. Die
WinAPI ist nichts anderes als eine riesige Sammlung von Befehlen (gepackt in verschiedene
DLL Dateien).
Die Funktionalität der TMemo Komponente ist z.B. keine Erfindung von Borland. TMemo erlaubt den vereinfachten Zugriff auf das EditBox Feature der
WinAPI. Wenn du also ein Memo in dein Programm einbaust, dann gehört das weisse Memo Feld eigentlich nicht dir oder Delphi sondern Windows. Das Fenster ist sozusagen nur geborgt. Deshalb kannst du darauf auch direkt zugreifen, ohne über das TMemo Interface von Delphi zu gehen. Die meisten solchen Komponenten haben ein "
Handle" Property, welches du für den Zugriff über die
WinAPI brauchst. Meistens geschieht der Zugriff über sogenannte Fensternachrichten (Window Messages) mit der SendMessage Funktion.
Um dein Problem zu lösen, habe ich zusert versucht, ein paar Messages wie WM_GETTEXT oder EM_GETSELTEXT an das DBGrid Control zu senden. Als das keinen Erfolg zeigte, hab ich das folgende Tool gestartet:
http://kobik.videodot.net/spy_capture.asp
Es zeigt dir, aus welchen Controls ein Fenster aufgebaut ist und wie die Klassennamen heissen. Diese Namen kann man dann bei den
WinAPI Funktionen FindWindow und FindWindowEx verwenden. Da die StringGrid und DBGrid Controls nur ein Child Window besitzen, gings auch ohne Klassennamen über GetWindow(Wnd,GW_CHILD).
Wenn du die Enterprise Version von Delphi hast, kannst du im Quelltext nachgucken, wie die Delphi Komponenten aufgebaut sind. Die StringGrid Komponente benutzt zum Editieren ein TInPlaceEdit Objekt was von TCustomMaskEdit abgeleitet ist welches wiederum von TCustomEdit abgeleitet ist. So sieht man auch schnell, welche Window Messages unterstützt werden.
Alle
WinAPI Befehle sind auch in Delphi verwendbar, wenn die richtige
Unit eingebunden ist. Die wichtigsten Befehle sind in der
Unit "Windows" enthalten. Diese Befehle sind in der Delphi Help selber nicht enthalten, da sie nichts mit Borland zu tun haben, sondern von Microsoft kommen und in einer eigenen Help Datei beschrieben sind.
Bei meinem Delphi7 kann ich die
WinAPI Help im Menu "Hilfe-Windows
SDK" aufrufen.
Falls dein Kopf vor lauter obskuren Erklärungen schon etwas dröhnt, kannst du ja auch einfach etwas mit den
WinAPI Befehlen herumspielen und mal gucken, was es denn so alles gibt. Nach einer Weile wird's dann viel klarer.
Das oben genannte Spy Programm ist sicher auch sehr hilfreich. Damit kann man auch Messages an andere Fenster abschicken, z.B. WM_DESTROY, WM_SHOW usw...