In Listbox soll ein Editfeld
-
Hallo,
wie realisiere ich es, wenn ich in einem ListControl Werte editieren will.
Also dass ich z.b. auf einen wert draufklicke unn dann sich sozusagen in diesem feld ein edit-feld aufgeht, in dem ich gleich meinen neuen text reinschreiben kann??lg chris
-
ListBOX oder ListCONTROL?
-
ListControl
-
das hab ich zwar umständlich gelöst aber es funktioniert
ka obs anders geht:
Erstmal ein EditFeld irgendwo auf deinem Dialog erstellen und unsichtbar machen.
dann musst du den Mausklick auf dein CListCtrl abfangen und seine Position ermitteln/berechnen.
Dann setzt du das EditFeld drüber, machst es sichtbar und gibst ihm den Focus
wenn es den Focus verliert schreibst du es an die Stelle im CListCtrl auf die du geklickt hast.
dann machst du das EditFeld wieder unsichtbar und gibst den Focus an das ListCtrl zurück.So oder so ähnlich wars glaub ich.
Edit: Hier noch ein CodeBeispiel:
//pDeinView = globaler Zeiger auf dein View, hab ich halt zu der zeit so gelöst void CMyListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point) { CWnd* pFocus = GetFocus(); if (pFocus->m_hWnd == pDeinView->m_ctrlBaugruppen.m_hWnd) { CRect rect; CRect Pos; CString str; CHeaderCtrl* header = GetHeaderCtrl(); int iItemCnt = GetItemCount(); LVHITTESTINFO pInfo; pInfo.pt = point; pInfo.flags = LVHT_ONITEMLABEL; int iItem = SubItemHitTest(&pInfo); for (int i=0;i<=header->GetItemCount();i++) { GetSubItemRect(iItem,i,LVIR_LABEL,rect); if((point.x > rect.left && point.x < rect.right)) { pMyEdit->m_szChangedItem0 = GetItemText(iItem,0); pMyEdit->m_iItem = iItem; pMyEdit->m_iSubItem = i; CWnd* pWnd = this; CWnd* pParent = GetParent(); pWnd->ClientToScreen(&rect); pParent->ScreenToClient(&rect); rect.top = rect.top-3; pDeinView->m_SMDEdit.MoveWindow(rect); pDeinView->m_SMDEdit.ShowWindow(1); pDeinView->m_SMDEdit.SetFocus(); pDeinView->m_SMDEdit.SetWindowText(GetItemText(iItem,i)); break; } } } CListCtrl::OnLButtonDblClk(nFlags, point);
-
:-\...
also vielen dank für die ersten tipps...aber ich warte vll. noch andere vorschläge ab....vll. gibt es da auch einen tipp für weniger erfahren progger
-
http://www.codeproject.com/listctrl/nirs2000.asp
http://www.codeproject.com/listctrl/editing_subitems_in_listcontrol.aspDas sind aber nicht die einzigen Artikel zum Thema.
-
Als ob ich erfahren bin
allein für den globalen Zeiger werd ich gekreuzigt
-
Taelan schrieb:
Als ob ich erfahren bin
allein für den globalen Zeiger werd ich gekreuzigt
*Pellaeon Talean kreuzigt*
*gg*