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
Что в коде не так?
Re: CreateWindow подводит!
От: VVV Россия  
Дата: 17.03.04 19:52
Оценка:
Здравствуйте, Buratino, Вы писали:

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


B>CreateWindow возвращает NULL, еще до возврата в RendWinProc приходят WM_NCCREATE и WM_NCDESTROY

B>Что в коде не так?

Посмотри http://www.rsdn.ru/Forum/Message.aspx?mid=311673#311673
Автор: VVV
Дата: 30.06.03
Re: CreateWindow подводит!
От: Jakop Россия https://wmspanel.com
Дата: 18.03.04 01:38
Оценка:
Здравствуйте, Buratino, Вы писали:

B>CreateWindow возвращает NULL, еще до возврата в RendWinProc приходят WM_NCCREATE и WM_NCDESTROY

B>Что в коде не так?
А где вызов RegisterClass? Или ты его просто в примере не привел?
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming

https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
Re: CreateWindow подводит!
От: Pavel Dvorkin Россия  
Дата: 18.03.04 04:17
Оценка:
Привет!

> LRESULT CALLBACK RendWinProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)

> {
> switch(Msg){
> case WM_DESTROY, WM_NCDESTROY:

Это что за синтаксис такой ?

--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"
With best regards
Pavel Dvorkin
Re[2]: CreateWindow подводит!
От: Buratino  
Дата: 18.03.04 05:49
Оценка:
J>Здравствуйте, Buratino, Вы писали:

B>>CreateWindow возвращает NULL, еще до возврата в RendWinProc приходят WM_NCCREATE и WM_NCDESTROY

B>>Что в коде не так?
J>А где вызов RegisterClass? Или ты его просто в примере не привел?

Всем спасибо, ссылка http://www.rsdn.ru/Forum/Message.aspx?mid=311673#311673
Автор: VVV
Дата: 30.06.03
помогла.
Register и UnregisterClass просто не приводил.
http://www.rsdn.ru/Forum/Message.aspx?mid=311673#311673
Автор: VVV
Дата: 30.06.03
Re[2]: CreateWindow подводит!
От: Vamp Россия  
Дата: 18.03.04 09:18
Оценка:
Операция запятая.
Реально case будет cрабатывать только с сообщениями WM_NCDESTROY
Вообще-то она там по стандарту запрещена (но, например, если взять в скобки, то г++ компилирует), но багландовский компилятор, вероятно, наплевал на это.
Да здравствует мыло душистое и веревка пушистая.
Re[3]: CreateWindow подводит!
От: Pavel Dvorkin Россия  
Дата: 18.03.04 10:12
Оценка:
Привет!

Vamp wrote:
>
> Операция запятая.

Что именно операция запятая, я и так понял. А вот зачем она здесь ?

> Реально case будет cрабатывать только с сообщениями WM_NCDESTROY


Именно так.


--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.