GetDlgItemText gibt keinen Text zurück?



  • Hey,
    ich weiß nicht ob du einen Texteditor als großes Projekt zählst 😃
    Naja, ich werd immer besser 😃
    Habe zu meinem zwölften Geburtstag (im Februar dieses Jahres) ein C++-Buch geschenkt bekommen, beherrsche schon VB, jetzt habe ich mit C++ angefangen.

    MfG,
    -haiyyu



  • haiyyu_ schrieb:

    ich weiß nicht ob du einen Texteditor als großes Projekt zählst 😃

    Kommt drauf an, ob du eher ein Notepad oder ein Notepad++ programmierst. 😉



  • Hey,
    ein Notepad ^^
    Noch eine kleine Frage...
    Ich versuche einen OpenFileDiaolg anzuzeigen, in meinem vorigen Projekt hat das mit demselben (denke ich zumindest) Code funktioniert, nur hier wird der Dialog nicht angezeigt.

    OPENFILENAME ofn;
                                char szFile[260];
                                ZeroMemory(&ofn, sizeof(OPENFILENAME));
                                ofn.lStructSize = sizeof(OPENFILENAME);
                                ofn.hwndOwner = hwnd;
                                ofn.lpstrFile = szFile;
                                ofn.lpstrTitle = "Speichern...";
                                ofn.nMaxFile = sizeof(szFile);
                                ofn.nFilterIndex = 1;
                                ofn.lpstrFileTitle = NULL;
                                ofn.nMaxFileTitle = 0;
                                ofn.lpstrInitialDir = NULL;
                                ofn.Flags = NULL;
                                if (GetOpenFileName(&ofn)) {}
    

    MfG,
    -haiyyu_



  • Im Fehlerfall mal CommDlgExtendedError ausführen.



  • mach das in zeile 2

    char szFileName[255]={0};
    


  • Danke, das funktioniert.



  • Hey,
    ich suche jetzt schon eine Weile nach einem SaveFileDialog... Den OpenFileDialog (OPENFILENAME) gibt es ja schon... Leider finde ich nichts für's Speichern...

    MfG,
    -haiyyu



  • haiyyu_ schrieb:

    Hey,
    ich suche jetzt schon eine Weile nach einem SaveFileDialog... Den OpenFileDialog (OPENFILENAME) gibt es ja schon... Leider finde ich nichts für's Speichern...

    MfG,
    -haiyyu

    Da kannst du doch den gleichen nehmen. Was du letztlich mit der Datei anstellst, ist schließlich deine Sache.

    EDIT: Oder irre ich mich gerade? Guck mal nach GetSaveFileName... 🤡



  • BOOL SaveText(HWND hwwnd, LPCTSTR pszFileName)
        {
        HANDLE hFile;
        BOOL bSuccess = FALSE;
    
        hFile = CreateFile(pszFileName, GENERIC_WRITE, 0, NULL,
        CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
        if (hFile != INVALID_HANDLE_VALUE)
    	{
    	DWORD dwTextLength;
    
    	dwTextLength = GetWindowTextLength(GetDlgItem(hwwnd, 8000));
    	if (dwTextLength > 0)
    	    {
    	    LPSTR pszText;
    	    DWORD dwBufferSize = dwTextLength + 1;
    	    pszText = (char *) GlobalAlloc(GPTR, dwBufferSize);
    	    if (pszText != NULL)
    		{
    		if (GetWindowText(GetDlgItem(hwwnd, 8000), pszText, dwBufferSize))
    		    {
    		    DWORD dwWritten;
    		    if (WriteFile(hFile, pszText, dwTextLength, &dwWritten,
    			    NULL ))
    			bSuccess = TRUE;
    		    }
    		GlobalFree(pszText);
    		}
    	    }
    	CloseHandle(hFile);
    	}
        return bSuccess;
        }
    
    string SaveFileBox(HWND hwnd)
        {
        OPENFILENAME ofn;
        char szFileName[MAX_PATH] = "";
    
        ZeroMemory(&ofn, sizeof(ofn));
    
        ofn.lStructSize = sizeof(ofn);
        ofn.hwndOwner = hwnd;
        ofn.lpstrFilter = "HTML Datei (*.html)\0*.html\0"
    	"Alle Dateien (*.*)\0*.*\0";
        ofn.lpstrFile = szFileName;
        ofn.nMaxFile = MAX_PATH;
        ofn.lpstrDefExt = "html";
        ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY
    	    | OFN_OVERWRITEPROMPT;
    
        if (GetSaveFileName(&ofn))
    	{
    	return szFileName;
    	}
        return "";
        }
    

    wenn des gebrauchen kannst



  • Hey,
    danke, das funktioniert.
    Hatte auch schon GetSaveFileName und SAVEFILENAME, jedoch meckerte der Compiler beim SAVEFILENAME, deshalb dachte ich, dass GetSaveFileName auch nicht funktionieren wird ^^

    MfG,
    -haiyyu



  • haiyyu_ schrieb:

    Hey,
    danke, das funktioniert.
    Hatte auch schon GetSaveFileName und SAVEFILENAME, jedoch meckerte der Compiler beim SAVEFILENAME, deshalb dachte ich, dass GetSaveFileName auch nicht funktionieren wird ^^

    MfG,
    -haiyyu

    Hehe, das meinte ich. Die Struktur is die gleiche (SAVEFILENAME gibts natürlich nicht), nicht der Dialog... 🤡


Anmelden zum Antworten