能力越大,责任越大

能力越大 责任越大

复编以来遇到的很多问题都是既熟悉又陌生,有的稍微回忆就可以想起答案,有的则死缠烂打折腾几天都没找到答案。最近遇到了一个小问题,花费了1周的时间才在1分钟前解决。

问题是这样产生的:我用Win32写的程序中使用Toolbar,这也是我第一次用Win32操作Toolbar(以前都是用MFC),好在MSDN非常详尽,多数问题迎刃而解,最后只剩下一个问题 - 我希望动态改变程序Toolbar第一个按钮的文字。查询MSDN,答案很简单,发送TB_SETBUTTONINFO给Toolbar即可。但是无论我怎么做,Toolbar第一个按钮的文字就是不变。这一周中当然我没有始终围绕这个问题生活,但它像一个累赘一样控制着我,直到1分钟前发现了MSDN对该消息描述的BUG。

MSND对该消息的描述是这样的:

TB_SETBUTTONINFO Message

Sets the information for an existing button in a toolbar.

...

Parameters

iID - Button identifier.

lptbbi - Pointer to a TBBUTTONINFO structure that contains the new button information.

http://msdn2.microsoft.com/en-us/library/ms650883.aspx

红色部分就是累赘了我一周的BUG。正确的iID定义应该是:iID - Command identifier of the button. 即该按钮对应的Command,而不是该按钮Zero-based index。微软很大,因此微软的小失误也会被放大,放到一周这么大

添加评论

  • 姓名:
  • E-mail 地址 (可选, 不公开):
  • Website (可选, nofollow):
  • 智力测验: 2 * 9 = ?
  • 内容 (HTML代码和UBB代码均不可用):

发表评论时请维持与此文章的相关性,使用关键字作为姓名或含有宣传内容的评论将被删除。