2012-05-27 3 views
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; 
    } 

이 프로그램을 실행하면 전혀 내 창을 보지 못하는 것 같습니다. 여기에 무슨 문제가 있을까요? 당신이 창을 만드는 방법이 아니다간단한 윈도우 C++ 보이지 않음

+6

어 - 당신은 "이 ShowWindow()"를 호출 어디 ??? http://msdn.microsoft.com/en-us/library/windows/desktop/ms633548%28v=vs.85%29.aspx – paulsm4

+1

그리고 내가 만들고자하는 새 창은 WM_CREATE 이벤트를 호출 한 윈도우. 또한 WM_CREATE 이벤트가 실제로 호출되고 있다고 가정합니다.) – paulsm4

답변

1

. CreateWindowAPI을 사용하여 창을 만듭니다. 당신이 그것과 함께해야 할 몇 가지가 있습니다. 이 MSDN tutorial이 도움이 될 수 있습니다.

WM_CREATE

이 창은 일반적으로 위의 API를 사용하여 생성 될 때 트리거 된 이벤트입니다.

항상 제대로 설명서를 읽어 보시기 바랍니다. Win32 API를 다루는 한, MSDN이 성경입니다.

+0

그는 * CreateWindow를 사용합니다. 아니면 적어도 STATIC 컨트롤을 만들기 위해 그것을 사용하고 있습니다. 나는 그가 어떤 창에 대해서 이야기하는지 모른다. 그는 전체 코드를 게시하는 것을 잊었습니다. –

1

ShowWindow() 기능을 확인하십시오. 당신은 당신의 윈도우가 표시되지 않습니다, 또는 단순히이 함수를 호출하는 것을 잊었다 것을 의미 CmdShow parameter to 0 설정할 수 있습니다. 또한 RegisterClassEx(...)이 올바르게 작동하는지 확인할 수 있습니다.