UdiRaz
asked on
How to redraw menu in a dialog
Hi,
I have a dialog that contains a menu.
In a certain point I am disable all menu items and then, enable the menuitems back.
For some reason, the menu doesn't repaint and if I disable the menuitems, they don't look gray. Only after I will move the cursor on top the menuitems, they will redraw.
the following link was supposed to fix my problem but it doesn't :
http://support.microsoft.com/kb/242577
Attached, is a sample project that contains a menu in dialog with the code suggested by the link above.
added a timer that change to menu enable status every 1 sec.
What I want is that the disable will look gray without the need to move the cursor on top the menu in order to make it redraw
I added .txt to all files so I can zip it and add it as attachment here.
Thanks,
Udi Raz
MenuInDialog.zip
I have a dialog that contains a menu.
In a certain point I am disable all menu items and then, enable the menuitems back.
For some reason, the menu doesn't repaint and if I disable the menuitems, they don't look gray. Only after I will move the cursor on top the menuitems, they will redraw.
the following link was supposed to fix my problem but it doesn't :
http://support.microsoft.com/kb/242577
Attached, is a sample project that contains a menu in dialog with the code suggested by the link above.
added a timer that change to menu enable status every 1 sec.
What I want is that the disable will look gray without the need to move the cursor on top the menu in order to make it redraw
I added .txt to all files so I can zip it and add it as attachment here.
Thanks,
Udi Raz
MenuInDialog.zip
call UpdateWindow() function. may solve your problem...
you might want to look into the function InvalidateRect,
basically this function tells a window it needs to redraw
http://msdn.microsoft.com/en-us/library/ms534893(VS.85).aspx
basically this function tells a window it needs to redraw
http://msdn.microsoft.com/en-us/library/ms534893(VS.85).aspx
ASKER
C Security : UpdateWindow() didn't help
Mark :
CRect rect;
GetWindowRect( rect );
InvalidateRect( rect );
Didn't work either.
please check the sample project I attached
Mark :
CRect rect;
GetWindowRect( rect );
InvalidateRect( rect );
Didn't work either.
please check the sample project I attached
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Simple and beautiful. Thanks