自绘菜单,当菜单有子菜单时,系统会自动给绘制向右的箭头,而且菜单Disable,箭头仍然存在

系统调用DrawFrameControl(hdc, &rt, DFC_MENU, DFCS_MENUARROW)来绘制箭头,要屏蔽它
1.菜单类不从CMenu派生,直接从CObject派生,所有内容都自绘,BCG库里有这样的类
2.在DrawItem中把那个小三角所在的区域裁剪掉,让系统无法在那儿绘图。

http://www.codeguru.com/cpp/controls/menu/miscellaneous/article.php/c13017/

void DrawItem()

{

xxxxxxxxxxxxxxxxxxxx

//finally

RECT arrowRect;//箭头Rect

::ExcludeClipRect(hDC, arrowRect.left, arrowRect.top, arrowRect.right,arrowRect.bottom);

}


posted @ 2012-03-23 13:50  好好学习,天天进步  阅读(371)  评论(0编辑  收藏  举报