本文整理汇总了C++中OnDestroy函数的典型用法代码示例。如果您正苦于以下问题:C++ OnDestroy函数的具体用法?C++ OnDestroy怎么用?C++ OnDestroy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了OnDestroy函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DeinitCommunication
//-----------------------------------------------------------------------------
/// Shutdown the LayerManager by detaching hooks and destroying instances.
/// \returns True if the LayerManager was destroyed fully and successfully.
//-----------------------------------------------------------------------------
bool DX12LayerManager::ShutdownLayerManager()
{
bool bShutdownSuccess = false;
DeinitCommunication();
// Try to shutdown the DX12Interceptor if it was created during initialization.
if (mInterceptor != nullptr)
{
if ((bShutdownSuccess = mInterceptor->Shutdown()) == false)
{
Log(logERROR, "Failed to clean up the DX12Interceptor during shutdown.\n");
}
SAFE_DELETE(mInterceptor);
}
bool bUnhookSuccessful = mModuleHook.UnhookInterceptor();
if (!bUnhookSuccessful)
{
Log(logERROR, "Failed to unhook intercepted D3D12 entrypoints during shutdown.\n");
}
if ((bShutdownSuccess = OnDestroy(DX12_DEVICE, nullptr)) == false)
{
Log(logERROR, "Failed to destroy the DX12LayerManager during shutdown.\n");
}
return bShutdownSuccess;
}
示例2: switch
//ʵÏÖBaseWindowµÄ½Ó¿Ú
LRESULT CALLBACK CEqualizerWnd::WindowProc(HWND hwnd,UINT uMsg, WPARAM wParam,LPARAM lParam )
{
POINT point = {0};
switch (uMsg)
{
case WM_CREATE:
OnCreate(uMsg,wParam,lParam);
break;
case WM_PAINT:
OnPaint(uMsg,wParam,lParam);
break;
case WM_LBUTTONDOWN:
point.x = LOWORD(lParam);
point.y = HIWORD(lParam);
OnLButtonDown(point);
break;
case WM_LBUTTONUP:
point.x = LOWORD(lParam);
point.y = HIWORD(lParam);
OnLButtonUp(point);
break;
case WM_MOUSEMOVE:
point.x = LOWORD(lParam);
point.y = HIWORD(lParam);
OnMouseMove(point);
break;
case WM_DESTROY:
OnDestroy(uMsg,wParam,lParam);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
示例3: switch
LRESULT CFuncKeyWnd::DispatchEvent(
HWND hwnd, // handle of window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
// if( NULL == GetHwnd() ){
// return 0L;
// }
int i;
WORD wNotifyCode;
WORD wID;
HWND hwndCtl;
switch ( uMsg ){
case WM_TIMER: return OnTimer( hwnd, uMsg, wParam, lParam );
case WM_COMMAND: return OnCommand( hwnd, uMsg, wParam, lParam );
case WM_SIZE: return OnSize( hwnd, uMsg, wParam, lParam );
case WM_DESTROY: return OnDestroy( hwnd, uMsg, wParam, lParam );
default:
return DefWindowProc( hwnd, uMsg, wParam, lParam );
}
}
示例4: switch
LRESULT WindowImplBase::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
LRESULT lRes = 0;
BOOL bHandled = TRUE;
switch (uMsg)
{
case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break;
case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break;
case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break;
#if defined(WIN32) && !defined(UNDER_CE)
case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break;
case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break;
case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break;
case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break;
case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break;
case WM_MOUSEWHEEL: lRes = OnMouseWheel(uMsg, wParam, lParam, bHandled); break;
#endif
case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break;
case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break;
case WM_KEYDOWN: lRes = OnKeyDown(uMsg, wParam, lParam, bHandled); break;
case WM_KILLFOCUS: lRes = OnKillFocus(uMsg, wParam, lParam, bHandled); break;
case WM_SETFOCUS: lRes = OnSetFocus(uMsg, wParam, lParam, bHandled); break;
case WM_LBUTTONUP: lRes = OnLButtonUp(uMsg, wParam, lParam, bHandled); break;
case WM_LBUTTONDOWN: lRes = OnLButtonDown(uMsg, wParam, lParam, bHandled); break;
case WM_MOUSEMOVE: lRes = OnMouseMove(uMsg, wParam, lParam, bHandled); break;
default: bHandled = FALSE; break;
}
if (bHandled) return lRes;
lRes = HandleCustomMessage(uMsg, wParam, lParam, bHandled);
if (bHandled) return lRes;
if (paint_manager_.MessageHandler(uMsg, wParam, lParam, lRes)) return lRes;
return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
}
示例5: OnDestroy
bool CDirect3D11::StartUp()
{
if( CreateDeviceAndSwapChain() )
{
//Do nothing
}
else
{
return false;
}
if( CreateRenderTargetView() )
{
//Do nothing
}
else
{
return false;
}
if ( CreateDepthStencilBufferAndView(true) )
{
m_pd3dDeviceContext->OMSetRenderTargets(1, &m_pd3dRenderTargetView, m_pd3dDepthStencilView);
}
else
{
return false;
}
if ( BuildScene() )
{
return true;
}
{
OnDestroy();
return false;
}
}
示例6: OnDestroy
void CMenuBase::Destroy (void)
{
// Destroy the font
m_pFont->Destroy ();
OnDestroy();
}
示例7: TaskWndProc
static LRESULT CALLBACK TaskWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
switch (msg) {
case WM_CREATE:
OnCreate(hWnd);
return 0;
case WM_ERASEBKGND:
return 0;
case WM_PAINT:
OnPaint(hWnd);
return 0;
case WM_TIMER:
OnTimer(wParam);
return 0;
case WM_HOTKEY:
return OnHotKey(HTaskWnd, wParam, lParam);
case WM_DESTROY:
OnDestroy();
return 0;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
}
示例8: switch
LRESULT __stdcall COverlappedWindow::wndProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
onCreate();
return 0;
case WM_TIMER:
onTimer();
return 0;
case WM_CLOSE:
onClose();
return 0;
case WM_DESTROY:
OnDestroy();
return 0;
case WM_PAINT:
handlePaint();
return 0;
default:
return ::DefWindowProc(handle, uMsg, wParam, lParam);
}
}
示例9: switch
LRESULT CMultiMenuUI::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
LRESULT lRes = 0;
BOOL bHandled = TRUE;
switch( uMsg )
{
case WM_CREATE:
lRes = OnCreate(uMsg, wParam, lParam, bHandled);
break;
case WM_KILLFOCUS:
lRes = OnKillFocus(uMsg, wParam, lParam, bHandled);
break;
case WM_DESTROY:
lRes = OnDestroy(uMsg, wParam, lParam, bHandled);
default:
bHandled = FALSE;
break;
}
if( bHandled )
return lRes;
if( m_pm.MessageHandler(uMsg, wParam, lParam, lRes) )
return lRes;
//应用层和 DUILIB 都不处理的消息交由系统默认处理
return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
}
示例10: DlgProc
/**
* ダイアログメッセージをメッセージを各関数に振り分けるだけです。
* @return TRUE(1)のときメッセージを処理
*/
INT_PTR DlgProc(
HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch(Message){
case WM_INITDIALOG:
return OnInitDialog(hWnd, (HWND)wParam, lParam);
case WM_DESTROY:
return OnDestroy(hWnd);
case WM_CLOSE:
return OnClose(hWnd);
case WM_COMMAND:
return OnCommand(
hWnd,
(int)(LOWORD(wParam)),
(HWND)(lParam),
(UINT)HIWORD(wParam));
case WM_NOTIFY_ICON:
OnNotifyIcon(hWnd, wParam, lParam);
return TRUE;
case WM_TIMER:
OnTimer(hWnd, wParam);
return 0;
}
return FALSE;
}
示例11: Initialize
void Initialize()
{
uv_timer_init(uv_default_loop(), &G_ThreadTimer);
G_pGateCore = new class CGateCore();
if (G_pGateCore->bInit() == false) {
std::fprintf(stderr, "ERROR: Init fail!\n");
std::exit(1);
return;
}
G_pListenSock = new class XSocket(300);
if (!G_pListenSock->bListen(G_pGateCore->m_cGateServerAddr, G_pGateCore->m_iGateServerPort, WM_USER_ACCEPT))
{
OnDestroy();
std::exit(1);
return;
}
// 서버 검사용 타이머 시작
uv_timer_init(uv_default_loop(), &G_mmTimer0);
uv_timer_start(&G_mmTimer0, &_TimerFunc, 0, 3000);
PutLogList("(!) Gate Server Listening...");
}
示例12: switch
LRESULT CEICFrameWindow::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
LRESULT lRes = 0;
BOOL bHandled = TRUE;
switch( uMsg )
{
case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break;
case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break;
case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break;
#if defined(UI_BUILD_FOR_WIN32) && !defined(UI_BUILD_FOR_WINCE)
case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break;
case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break;
case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break;
case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break;
case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break;
#endif
case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break;
case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break;
default:
bHandled = FALSE;
}
if( bHandled ) return lRes;
if( m_pm.MessageHandler(uMsg, wParam, lParam, lRes) ) return lRes;
return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
}
示例13: WndProcTimer
/*-------------------------------------------
window procedure
---------------------------------------------*/
LRESULT CALLBACK WndProcTimer(HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CREATE:
OnCreate(hwnd);
return 0;
case WM_DESTROY:
OnDestroy(hwnd);
return 0;
case WM_TIMER:
switch(wParam)
{
case IDTIMER_TIMER:
OnTimerTimer(hwnd);
break;
}
return 0;
// show dialog box
case TIMERM_SHOWDLG:
OnShowDialog(hwnd);
return 0;
// add item to tcmenu*.txt
case TIMERM_REQUESTMENU:
OnRequestMenu(hwnd, FALSE);
return 0;
// stop running timer
case TIMERM_STOP:
OnStopTimer(hwnd, (int)lParam);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
示例14: switch
int CMainFrame::MsgProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_COMMAND:
OnCommand(wParam, lParam);
break;
case WM_CREATE:
OnCreate(wParam, lParam);
break;
case WM_DESTROY:
OnDestroy(wParam, lParam);
break;
case WM_SIZE:
OnSize(wParam, lParam);
return 1;
case WM_TIMER:
OnTimer(wParam, lParam);
return 1;
case WM_ERASEBKGND:
return 0;
}
return DefFrameProc(m_hWnd, m_hClient, uMsg, wParam, lParam);
}
示例15: switch
LRESULT CWindow2::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
LRESULT result;
switch (message)
{
case WM_CREATE:
if (!OnCreate((CREATESTRUCT *)lParam))
return -1;
break;
case WM_COMMAND:
if (OnCommand(wParam, lParam, result))
return result;
break;
case WM_NOTIFY:
if (OnNotify((UINT)wParam, (LPNMHDR) lParam, result))
return result;
break;
case WM_DESTROY:
OnDestroy();
break;
case WM_CLOSE:
OnClose();
return 0;
case WM_SIZE:
if (OnSize(wParam, LOWORD(lParam), HIWORD(lParam)))
return 0;
}
return DefProc(message, wParam, lParam);
}