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
Что в коде не так?
Здравствуйте, 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
Здравствуйте, Buratino, Вы писали:
B>CreateWindow возвращает NULL, еще до возврата в RendWinProc приходят WM_NCCREATE и WM_NCDESTROY
B>Что в коде не так?
А где вызов RegisterClass? Или ты его просто в примере не привел?
Привет!
> 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"
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
Операция запятая.

Реально case будет cрабатывать только с сообщениями WM_NCDESTROY
Вообще-то она там по стандарту запрещена (но, например, если взять в скобки, то г++ компилирует), но багландовский компилятор, вероятно, наплевал на это.
Привет!
Vamp wrote:
>
> Операция запятая.
Что именно операция запятая, я и так понял. А вот зачем она здесь ?
> Реально case будет cрабатывать только с сообщениями WM_NCDESTROY
Именно так.
--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"