int CDialog::RunModal(CWnd& rParent) { // Initalise members. m_bModal = true; m_pParentWnd = &rParent; ASSERT((rParent.Handle() != NULL) || (&rParent == &CWnd::g_oDesktop)); ASSERT(CModule::This().Handle()); ASSERT(m_iRscID); // Create it. LRESULT iReturn = DialogBoxParam(CModule::This().Handle(), MAKEINTRESOURCE(m_iRscID), rParent.Handle(), DlgProc, reinterpret_cast<LPARAM>(this)); ASSERT(iReturn != -1); // Return return static_cast<int>(iReturn); }
void CTrayIcon::Add(const CWnd& oWnd, uint nTrayID, uint nMsgID, uint nRscID, const tchar* pszToolTip) { ASSERT(m_hWnd == NULL); ASSERT(m_nTrayID == 0); ASSERT(m_nMsgID == 0); ASSERT(oWnd.Handle() != NULL); ASSERT(nTrayID != 0); ASSERT((pszToolTip == nullptr) || (tstrlen(pszToolTip) < MAX_TIP_LEN)); // Save parameters. m_hWnd = oWnd.Handle(); m_nTrayID = nTrayID; m_nMsgID = nMsgID; // Load the icon resource. CIcon oIcon(nRscID, ICON_WIDTH, ICON_HEIGHT); uint nFlags = NIF_ICON; // Work out which other fields to set. if (m_nMsgID != 0) nFlags |= NIF_MESSAGE; if (pszToolTip != nullptr) nFlags |= NIF_TIP; NOTIFYICONDATA oData = { 0 }; // Fill in the message structure. oData.cbSize = sizeof(oData); oData.hWnd = m_hWnd; oData.uID = m_nTrayID; oData.uFlags = nFlags; oData.uCallbackMessage = m_nMsgID; oData.hIcon = oIcon.Handle(); if (pszToolTip != nullptr) tstrncpy(oData.szTip, pszToolTip, MAX_TIP_LEN-1); // Send message. ::Shell_NotifyIcon(NIM_ADD, &oData); }
bool CDialog::RunModeless(CWnd& rParent) { // Initalise members. m_bModal = false; m_pParentWnd = &rParent; ASSERT(rParent.Handle()); ASSERT(CModule::This().Handle()); ASSERT(m_iRscID); // Create it. HWND hWnd = CreateDialogParam(CModule::This().Handle(), MAKEINTRESOURCE(m_iRscID), rParent.Handle(), DlgProc, reinterpret_cast<LPARAM>(this)); ASSERT(hWnd != NULL); // If a child dialog, turn off size grip. if (WindowStyle() & WS_CHILD) m_bNoSizeGrip = true; // Okay? return (hWnd != NULL); }
CView::CView(const CWnd& rParent) { // Load string for class name. m_strClassName.LoadRsc(IDS_VIEW_WND); // Override any WNDCLASS members. m_wcClass.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1); m_wcClass.lpszClassName = m_strClassName; // Override WNDINIT members. m_wiStyle.pszClassName = m_strClassName; m_wiStyle.dwStyle = WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE; m_wiStyle.rcPos.Set(0, 0, 0, 0); m_wiStyle.hParent = rParent.Handle(); m_wiStyle.hMenu = (HMENU) IDS_VIEW_WND; }