我到一个例子看到他用的是
m_WndOldProc=(WNDPROC)SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)BeginSubClassMenu);
//hwnd是菜单的句柄
BeginSubClassMenu//是处理函数。
可该函数总运行失败,是不是用错地方了。如果用错了该用在什么地方?
m_WndOldProc=(WNDPROC)SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)BeginSubClassMenu);
//hwnd是菜单的句柄
BeginSubClassMenu//是处理函数。
可该函数总运行失败,是不是用错地方了。如果用错了该用在什么地方?
上面有一个NewMenu的东西,非常不错
_________________
:) 我说不支持多层菜单,并不是技术上无法达到。是我没时间 :)
当然,在原有的菜单上也可以实现去掉边框的原理大约是这样的:
用Setwindowshookex得到菜单窗口生成的消息,并对这个窗口进行子类化
接下来可以用去掉边框的风格或者在WM_NCCALCSIZE中设置非客户区的大小。VB版有一贴子专门讨论了XP风格菜单的
你可以去找找。。