简单的窗口c ++不可见

时间:2012-05-27 03:59:40

标签: c++ windows file

case WM_CREATE:
    {
    int randomsize=0;
    //std::string lineofquote;
    char lineofquote[255];
    std::ifstream infile;
    infile.open("quotes.txt",std::ios::in);
    if (infile)
    {
        MessageBox(NULL,"infile failed","Error reading file", MB_OK);
        return 0;
    }
    newhandler = CreateWindow(TEXT("static"),TEXT("Quote here") ,WS_CHILD | WS_VISIBLE , 0,0,550,150,hWnd,NULL,NULL,NULL);

    while(!infile.eof())//get file size
    {
        infile.getline(lineofquote,255,'\n');
        SetWindowText(newhandler,lineofquote);
        randomsize++;
    }
    infile.close();
    //std::cout<<randomsize;

    break;
    }

当我运行这个程序时,我似乎根本看不到我的窗户。这可能是什么问题?

2 个答案:

答案 0 :(得分:1)

这不是您创建窗口的方式。您可以使用CreateWindow API创建一个窗口。你需要做几件事。可能是这个MSDN tutorial可以提供帮助。

WM_CREATE是在创建窗口时触发的事件,通常使用上述API。

请务必正确阅读文档。只要您处理Win32 API,MSDN就是您的圣经。

答案 1 :(得分:1)

检查ShowWindow()功能。您可以设置CmdShow parameter to 0,这意味着您的窗口将不可见,或者只是您忘记调用此功能。此外,您可以检查RegisterClassEx(...)是否正常工作。