Skezza's Avatar, Join Date: Jul 2012
Newbie Member
I know this thread is 2 years old but I was sent the link by a colleague who is learning WinCE 6 development. He was having problems using more than one CGuiButton. They were disappearing rather inexplicably. For example, pressing on one, then another would remove the bitmap from the first button.

I ran through the code on my lunch break at work and have found the cause:

void CGuiButton::OnKillFocus(CWnd* pNewWnd)
line 139 of GuiButton.cpp : this->Invalidate(); is unnecessary in my opinion.

My own experience is fairly middle of the road, but I just wondered why it was there? I cannot see a reason to call Invalidate() on the CGuiButton on kill focus. The only reason to call Invalidate is if the region needs repainting, but for a Bitmap button, I can't see when this would be the case.
Rather than say this fixes it (it does in my case) I was wondering if you could explain why it was there in the first place as I'm sure it isn't there for nothing?

Skezza's Avatar, Join Date: Jul 2012
Newbie Member
For those who aren't sure, comment out the line and try again.