Problem mit Auslesung von Tree-View Node-Namen



  • Was ich tue ist, dass ich nach einem Doppelklick auf das Tree-View Control Ausschau halte, indem ich in der Window Procedure folgendes schreibe:

    case WM_NOTIFY:
    	switch(LOWORD(wParam))
    	{
    		case IDC_TREE:
    			if(((LPNMHDR)lParam)->code == NM_DBLCLK) {
    				HTREEITEM selected = TreeView_GetSelection(GetDlgItem(hwnd, IDC_ENTITYLIST));
    				theTHNFile.DisplayDetails(selected);
    			}
    		break;
    	}
        break;
    

    Da wird also das item des Tree Views, dass ja direkt nach einem Doppelklick darauf noch ausgewählt sein sollte, ausgelesen und an die Funktion DisplayDetails weitergegeben, die dann unter anderem den Namen der Node herausbekommen soll. Dies wollte ich so lösen:

    char check_name1[255]="";
    
    TVITEMEX check_node;
    check_node.mask = TVIF_TEXT;
    check_node.hItem = node;
    check_node.pszText = check_name1;
    check_node.cchTextMax = 256;
    SendDlgItemMessage(tree_hwnd, IDC_TREE, TVM_GETITEM, 0, (LPARAM)&check_node);
    
    MessageBox(NULL, check_name1, "check_name1", NULL);
    

    Genau da kommt aber nichts gescheites bei raus. Die MessageBox bleibt leer.

    Wie ich mich kenne ist es wieder ein ganz grober Schnitzer. 🙄



  • Achja, was mir gerade noch einfällt: "node" im zweiten Codeschnipsel ist der Name für das an die Funktion übergebene Argument.


Log in to reply