CreateWindow подводит!
От: Buratino  
Дата: 17.03.04 19:45
Оценка:
 void __fastcall TMainForm::FormShow(TObject *Sender)
{

  DWORD ThreadID;
  hThread= CreateThread(NULL,
                       0,
                       ThreadFunc,
                       0,
                       0,
                       &ThreadID
                       );
}
//----------------------------------------------------------

HANDLE hThread;

DWORD WINAPI ThreadFunc( LPVOID )
{
  HANDLE hWnd= CreateWindow("RendWin",
                     "#2",
                     WS_CHILD|WS_CLIPSIBLINGS,//style
                     0,0,100,100,
                     MainForm->Handle,
                     NULL,
                     Application->Handle,
                     NULL
                     );
  GetLastError();
  MSG Msg;
  while( GetMessage(&Msg,NULL,0,0) ){

    TranslateMessage(&Msg);
    DispatchMessage(&Msg);
  }
  return 0;
}

//---------------------------------------------------------------------------
LRESULT CALLBACK RendWinProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
  switch(Msg){
    case WM_DESTROY, WM_NCDESTROY:
      PostQuitMessage(0);
      break;
    default: DefWindowProc(hWnd, Msg, wParam, lParam);
  }
  return 0;
}

//--------------------------

Проблема такая:

CreateWindow возвращает NULL, еще до возврата в RendWinProc приходят WM_NCCREATE и WM_NCDESTROY
Что в коде не так?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.