15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Eliminating Menu Bar

MICHAEL@datatree.com
Tuesday, June 25, 1996

Environment: VC++ 4.1 and Windows 95

My SDI application screen is designed to
be nothing more than a simple window with
4-6 bitmap buttons. Therefore, no system
menu, no tool bar, no minimize box, no maximize
box, no close box and no menu bar.

No problem eliminating everything but
the MENU BAR. Any ideas?

---------------------------
Michael L. Thal
Data Tree Corporation
voice: (619) 231-3300
fax:      (619) 231-3301





Lin Sebastian Kayser -- 100532.2621@compuserve.com
Saturday, June 29, 1996

[Mini-digest: 2 responses, culled from many]

In your CMainframe::OnCreate() simply add 

SetMenu(NULL);

This may not be the most elegant way but it works.
Regards, Lin


 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
.     Lin Sebastian Kayser - Lizard Software, Germany     . 
.   High Speed CNC System Software for ARADEX Automation  . 
.    http://ourworld.compuserve.com/homepages/Lin_Kayser  . 
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

...writing at 12:21:06 29-Jun-1996 (GMT +1:00)

-----From: David Doughty 

Having experienced the same problem, here is the solution which was provided to me.
The following overload of LoadFrame takes care of eliminating the main menu. Notice that the 6th argument to Create is NULL.


BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParentWnd, CCreateContext* pContext)
{
	// only do this once
	ASSERT_VALID_IDR(nIDResource);
	ASSERT(m_nIDHelp == 0 || m_nIDHelp == nIDResource);

	m_nIDHelp = nIDResource;    // ID for help context (+HID_BASE_RESOURCE)

	CString strFullString;
	if (strFullString.LoadString(nIDResource))
		AfxExtractSubString(m_strTitle, strFullString, 0);    // first sub-string

	if (!AfxDeferRegisterClass(AFX_WNDFRAMEORVIEW_REG))
		return FALSE;

	// attempt to create the window. NULL out the menu argument.
	LPCTSTR lpszClass = GetIconWndClass(dwDefaultStyle, nIDResource);
	LPCTSTR lpszTitle = m_strTitle;
	if (!Create(lpszClass, lpszTitle, dwDefaultStyle, rectDefault,
	  pParentWnd, 0L, 0L, pContext))
	{
		return FALSE;   // will self destruct on failure normally
	}

	// save the default menu handle
	ASSERT(m_hWnd != NULL);
	m_hMenuDefault = ::GetMenu(m_hWnd);

	// load accelerator resource
	LoadAccelTable(MAKEINTRESOURCE(nIDResource));

	if (pContext == NULL)   // send initial update
		SendMessageToDescendants(WM_INITIALUPDATE, 0, 0, TRUE, TRUE);

	return TRUE;
}




| Вернуться в корень Архива |