Focus Problem in CFormView
-
Moin erstmal

Ich habe eine ListCtrl Klasse, in die ich eine OnPlaceEdit
Funktionalität eingebaut habe, also, es bekommt eine editbox
den focus, wenn man auf einen Listeneintrag klickt, um ihn dort
zu editieren. Klappt alles wunderbar in einem Dialog.So, nun hab ich in meinem Projekt aber ein SplitterWindow, ein Treeview,
und ein FormView, in den Formview ist das ListCtrl eingebettet.
Wenn ich nun drauf klicke, erscheint erstgar kein Editfeld mehr, und
ich kann nicht sehen was passiert, aber das getippte landet trotdem
im Editfeld, (nur net sichtbar).Der Quellcode:
void LInc::OnClick(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE lpNMItem = (LPNMITEMACTIVATE) pNMHDR; if(lpNMItem->iItem > -1 ) { //MessageBox("test"); CString str; int x,y; // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen RECT rect,rect1,rect2; str = GetItemText(lpNMItem->iItem ,lpNMItem->iSubItem); ListView_GetSubItemRect(m_hWnd,lpNMItem->iItem, lpNMItem->iSubItem,LVIR_BOUNDS,&rect); //Get the Rectange of the listControl GetWindowRect(&rect1); //Get the Rectange of the Dialog ::GetWindowRect(hwnd,&rect2); x=rect1.left-rect2.left; y=rect1.top-rect2.top; edit->SetWindowPos((CWnd*)HWND_TOP,rect.left+x,rect.top+y-20, rect.right-rect.left - 3, rect.bottom-rect.top -1,NULL);//Editbox über eintrag positionieren // edit->Setlist(this) edit->Init(str,lpNMItem->iItem,lpNMItem->iSubItem); edit->ShowWindow(SW_SHOW);//Fernster auf Show setzten if(edit->SetFocus()==NULL)//Fenster den Focus geben MessageBox("null"); //Draw a Rectangle around the SubItem ::Rectangle(::GetDC(lpNMItem->hdr.hwndFrom), rect.left,rect.top-1,rect.right,rect.bottom);//nett rummalen } *pResult = 0; }Hat jemand eine Idee woran es liegt, das das Editfeld unsichtbar bleibt im FormView ?
Gäbe es eine Alternative zu ShowWindow ?Devil