Einzelnen Beitrag anzeigen

quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: mit den Cursortasten zum nächstliegen Control springen

  Alt 11. Mai 2009, 16:12
Wenn die Anordnung symmetrisch wäre, würde es das ganze vereinfachen. Du musst gar nicht alle Kombos in einem Array speichern.
Obwohl eine TObjectlist wäre möglich, dann könntest du über die Objektreferenz direkt auf die Komponente zugreifen und würdest auch nicht so viel Speicher mehr verbrauchen.

Zurück zu meinem Ansatz:
Mit FindWindow dein Fenster suchen und dann mit EnumChildWindows iterieren und deine Kombos zusammensuchen. Die jeweils näheste speichern und wenn dudurch bist, zu ihr hinspringen.
Edit: ob du links oder rechts suchst ist ja dann einfach zu unterscheiden

Edit2:
Mal schnell in C++ zusammengeschrieben, finde ich in meinem Fenster beide Handles der Buttons.
Code:
#include <iostream>
#include <windows.h>

using namespace std;

BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
{
   cout << "hwnd_child = " << hwnd << endl;
   return TRUE;
}

int _tmain(int argc, _TCHAR* argv[])
{
   HWND wnd = FindWindow(NULL, L"Form4");;
   if(wnd != INVALID_HANDLE_VALUE)
   {
      EnumChildWindows(wnd, EnumChildProc, 0);   
   }
   system("PAUSE");
   return 0;
}
Nun kannst deren Position bestimmen
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat