Esempio n. 1
0
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);
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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);
}
Esempio n. 4
0
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;
}