ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
458
458
EMPFEHLEN
-
05.09.05 18:37 #1
- Registriert seit
- Jun 2005
- Ort
- Bad Arolsen (Hessen)
- Beiträge
- 556
Hallo,
ich habe ein Problem mit der Funktion MoveWindow. Ich lasse in meinem Projekt in einem Formular auf Maus-Klick ein Edit-Control erscheinen. Das klappt auch problemlos
Beim Betätigen der Tab-Taste soll das Edit-Control eine Spalte weiterspringen. Dazu addiere zu dem WindowRect die Spaltenbreite und lasse es verschieben.Code :1 2 3 4 5 6 7 8 9 10 11 12 13
m_edit.MoveWindow(rectDaten); if(pDoc->m_Ansicht==3||pDoc->m_Ansicht==7) { m_edit.SetWindowText(pDoc->ZeitenArrayV[pDoc->spalte][pDoc->zeile]); } else { m_edit.SetWindowText(pDoc->ZeitenArrayXI[pDoc->spalte][pDoc->zeile]); } m_edit.SetFont(&pDoc->editFont); m_edit.ShowWindow(SW_SHOW); m_edit.SetFocus(); m_edit.SetActiveWindow();Leider springt das Edit-Control nicht dahin, wo es soll. Es springt weiter nach rechts, als es soll und auch noch nach unten.Code :1 2 3 4 5 6 7
if(nChar==9) { pView->m_edit.GetWindowRect(rectDraw); rectDraw.left+=13; rectDraw.right+=13; pView->m_edit.MoveWindow(rectDraw); }
Ich hab schon alles Mögliche probiert, aber nichts funktioniert. Die Ansicht ist vom Typ CSrollView im MapMode MM_HIMETRIC. Die Rechteck-Koordinaten sind in Device-Koordinaten. Wo liegt mein Fehler?
Mfg
langer
-
GetWindowRect() liefert Screen-Koordinaten, du brauchst sie aber auf deinen View bezogen. Daher muss noch eine Umrechnung rein:
Code :1 2 3 4 5 6 7 8 9 10
if(nChar==9) { pView->m_edit.GetWindowRect(rectDraw); pView->ScreenToClient(&rectDraw); rectDraw.left+=13; rectDraw.right+=13; pView->m_edit.MoveWindow(rectDraw); }Geändert von MCoder (06.09.05 um 07:41 Uhr)
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
06.09.05 13:33 #3
- Registriert seit
- Jun 2005
- Ort
- Bad Arolsen (Hessen)
- Beiträge
- 556
Danke, jetzt klappt's. Und nun weiß ich auch gleich, warum es diese Funktion gibt
.
Mfg
langer
Ähnliche Themen
-
MoveWindow() über mehrere Monitore
Von Thomasio im Forum C/C++Antworten: 0Letzter Beitrag: 18.10.10, 16:49 -
MoveWindow step by step
Von Thomasio im Forum C/C++Antworten: 6Letzter Beitrag: 23.05.07, 05:06 -
Fenster verschieben mit API-Funktion 'MoveWindow'
Von RIDI2oo5 im Forum .NET ArchivAntworten: 3Letzter Beitrag: 18.01.05, 09:07 -
Movewindow() , Repaint
Von Reticent im Forum VisualStudio & MFCAntworten: 4Letzter Beitrag: 17.03.04, 12:34 -
Problem mit PopUp (Ja ich weiss Suche benutzten, hab ein ganz anderes Problem)
Von killkrog im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 13.06.02, 12:29





Zitieren
Login






