Position des Cursors aus einer Editbox ermitteln

fujitsufan

Erfahrenes Mitglied
Hallo,
ist es irgenwie möglich die Position des Cursors aus einer Editbox (TEdit) zu ermitteln.
Setzen ist ja kein Problem.
Start und Endposition setzte ich den gleichen Wert ein.
Code:
void TDialog::SetFocusTo(int Id, int Start, int End)
{
  HWND focus = SetFocus(GetDlgItem(hDlg, Id));
  SendMessage(focus, EM_SETSEL, Start, End);
}


Beim Ermitteln der Position des Cursors verwende ich folgende Funktion.
Code:
int TDialog::GetFocusOf(int Id)
{
  int iPos = -1, iStart = -1, iEnd = -1;
  HWND focus = GetFocus();
  SendMessage(focus, EM_GETSEL, iStart, iEnd);
  if(iStart == iEnd)
	  iPos = iStart;

  return iPos;
}

Kann mir jemand sagen wie ich die Position des Cursors ermittlen kann?

MfG.
fujitsufan
 
Hallo fujitsufan

Müsstest du bei EM_GETSEL die beiden Zielvariabeln nicht als Zeiger übergeben?

Viele Grüsse
Cromon
 
Hallo Cromon,

klar, Du hast recht.
Aber so weit läuft das Programm gar nicht.
Es stürtzt schon eine Zeile vorher ab.
Code:
HWND focus = GetFocus();
Der Window Handel geht leer aus.
Ich habe aber keine Ahnung wie ich an den Handel dran komme.

mfG.
fujitsufan
 

Neue Beiträge

Zurück