WinApi open file in edit window

-3

I'm new in WinApi and I have problem with OpenFile function. I want open some other file in my program, whitch means it appear in my edit window. I wrote something like that (that's my open file function)

void OtworzPlik(HWND hwnd)
    {
        OPENFILENAME ofn;
        char szFileName[MAX_PATH] = "";

        ZeroMemory(&ofn, sizeof(ofn));

        ofn.lStructSize = sizeof(ofn);
        ofn.hwndOwner = hwnd;
        ofn.lpstrFilter = "Text Files (.*txt\0*.txt\0All Files (*.*\0*.*\0";
        ofn.lpstrFile = szFileName;
        ofn.nMaxFile = MAX_PATH;
        ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
        ofn.lpstrDefExt = "txt";

        if (GetOpenFileName(&ofn))
        {
                HWND hEdit = GetDlgItem(hwnd, ID_MDI_EDIT);
                if (OtworzWEdit(hEdit, szFileName))
                {
                        SendDlgItemMessage(hOknoGlowne, IDC_STATUSBAR, SB_SETTEXT, 0, (LPARAM)"Otwarty...");
                        SendDlgItemMessage(hOknoGlowne, IDC_STATUSBAR, SB_SETTEXT, 1, (LPARAM)szFileName);
                        SetWindowText(hwnd, szFileName);
                }
        }
    }

Later I created next BOOL function:

BOOL OtworzWEdit(HWND hEdit, LPCSTR pszFileName)
    {
        HANDLE hFile;
        BOOL bSuccess = FALSE;

        hFile = CreateFile(pszFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
        if (hFile != INVALID_HANDLE_VALUE)
        {
                DWORD dwFileSize;

                dwFileSize = GetFileSize(hFile, NULL);
                if (dwFileSize != 0xFFFFFFFF)
                {
                        LPSTR pszFileText;
                        pszFileText = (LPSTR)GlobalAlloc(GPTR, dwFileSize + 1);
                        if (pszFileText != NULL)
                        {
                                DWORD  dwRead;
                                if (ReadFile(hFile, pszFileText, dwFileSize, &dwRead, NULL))
                                {
                                        pszFileText[dwFileSize] = 0;
                                        if (SetWindowText(hEdit, pszFileText))
                                                bSuccess = TRUE;
                                }
                                GlobalFree(pszFileText);
                        }
                }
                CloseHandle(hFile);
        }
        return bSuccess;
    }

And mine WM_COMMAND function it's something like that

case ID_PLIK_OTWORZ:
 {
            OtworzPlik(hwnd);
           break;
          }
         break;

I don't know why it wouldn't work, any ideas? The problem what I have is nothing show in my window when I click in my menu open file. Dialog window of course show, but nothing else happend. My application is something like Windows text editor. I hope somebody help understand me the source of the problem.

c
winapi
asked on Stack Overflow Dec 16, 2018 by Red0120 • edited Dec 17, 2018 by Red0120

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0