Re: The WM_KICKIDLE message
David Webber schrieb:
If it isn't documented, and isn't in the public headers, doesn't that raise
a number of questions:
Which versions of Windows have it?
When is it sent?
What is its intended purpose?
Is it safe to rely on it?
That's what I asked myself too. But then I decided to use it for the reasons
that David L. mentioned. This is the reduced code:
BEGIN_MESSAGE_MAP(CBatchInputDlg, CDialogEx)
ON_MESSAGE_VOID(WM_KICKIDLE, OnKickIdle)
ON_UPDATE_COMMAND_UI(IDC_PASTE, OnUpdateBtnPaste)
END_MESSAGE_MAP()
void CBatchInputDlg::OnKickIdle()
{
UpdateDialogControls(this, FALSE);
}
void CBatchInputDlg::OnUpdateBtnPaste(CCmdUI *pCmd)
{
BOOL bEnable =
IsClipboardFormatAvailable(CF_UNICODETEXT) ||
IsClipboardFormatAvailable(CF_TEXT);
pCmd->Enable(bEnable);
}
Btw, the ON_MESSAGE_VOID macro is undocumented too but can be quite handy if
params or returns are unused.
Hans
--
There are 10 kinds of people. Those who understand binary
and those who don't.