0
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;
    }

このプログラムを実行すると、ウィンドウがまったく表示されないようです。ここで何が問題になる可能性がありますか?

4

2 に答える 2

1

それはウィンドウを作成する方法ではありません。CreateWindow APIを使用してウィンドウを作成します。それに伴い、いくつかの作業を行う必要があります。このMSDN チュートリアルが役立つかもしれません。

WM_CREATE通常は上記の API を使用して、ウィンドウが作成されたときに発生するイベントです。

常にドキュメントを適切に読んでください。Win32 API を扱っている限り、MSDN はバイブルになります。

于 2012-05-27T04:23:38.490 に答える
1

機能を確認してくださいShowWindow()CmdShow parameter to 0ウィンドウが表示されないことを意味するか、単にこの関数を呼び出すのを忘れているかを設定できます。また、適切に機能したかどうかを確認することもできますRegisterClassEx(...)

于 2012-05-27T15:36:00.020 に答える