Using ON_UPDATE_COMMAND_UI in Property Pages | CodeGuru

Using ON_UPDATE_COMMAND_UI in Property Pages

Using ON_UPDATE_COMMAND_UI message maps in property pages is the same as in dialogs except for one extra step required. You need to derive a class from CPropertySheet and intercept the WM_KICKIDLE messages. 1. Use class wizard to create a new class called CMyPropSheet with a base class of CPropertSheet. 2. In the header add the […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 16, 1998
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Using ON_UPDATE_COMMAND_UI message maps in property pages is the same as in dialogs except for one extra step required.

You need to derive a class from CPropertySheet and intercept the WM_KICKIDLE messages.

1. Use class wizard to create a new class called CMyPropSheet with a base class of CPropertSheet.
2. In the header add the message function. afx_msg LRESULT OnIdleUpdateCmdUI(WPARAM, LPARAM);
3. In the source file #include afxpriv.h
4. Add the message map ON_MESSAGE(WM_KICKIDLE, OnKickIdle)
5. Implement the function.

LRESULT CMyPropSheet::OnKickIdle(WPARAM, LPARAM)
{
	SendMessageToDescendants(WM_WM_KICKIDLE, 0, 0, FALSE, FALSE);
	return 0;
}

The property sheet now passes all WM_KICKIDLE message to its property pages.

In the property page class, just add a message map for WM_KICKIDLE and call UpdateDialogControls.

LRESULT CMyPropPage::OnKickIdle(WPARAM, LPARAM)
{
	UpdateDialogControls(this, FALSE);
	return 0L;
}

Then all you need is ON_UPDATE_COMMAND_UI message maps.

P.S.
This does not work for modeless property sheets.
You need to trap the WM_IDLEUPDATECMDUI message in the property sheet’s
owner window and send it WK_KICKIDLE messages.

Date Posted: 08/13/98

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.