开发公司的一个软件,测试部提交了这样一个bug:有时工具栏按钮丢失。具体是 就是一个工具栏绑定了一个位图,代码大致是: CBCGPToolBar m_Bar; m_Bar.Create(......)||m_Bar.LoadToolBar(..IDB_MAP);
这里的 IDB_MAP是一个位图文件的资源ID,问题有时就是工具栏的按钮的位图不能显示,就只剩下一个光秃秃的按钮,就是所谓的丢失。后来我看了代码,发现两个工具栏窗口创建时都用了同一个窗口ID。我想这会不会是问题根源呢?难办的是这个问题在debug版本下很难重现,在release版本下偶尔出现。
这里的 IDB_MAP是一个位图文件的资源ID,问题有时就是工具栏的按钮的位图不能显示,就只剩下一个光秃秃的按钮,就是所谓的丢失。后来我看了代码,发现两个工具栏窗口创建时都用了同一个窗口ID。我想这会不会是问题根源呢?难办的是这个问题在debug版本下很难重现,在release版本下偶尔出现。
就是代码大致如下: #define ID_VIEW_TOOLBAR 10000
CBCGPToolBar m_Bar1; CBCGPToolBar m_Bar2; m_Bar1.Create(......ID_VIEW_TOOLBAR)||m_Bar.LoadToolBar(..IDB_MAP); // m_Bar2也是用ID_VIEW_TOOLBAR这个ID
m_Bar2.Create(......ID_VIEW_TOOLBAR)||
现在我不确定问题是不是两个工具栏窗口都是用ID_VIEW_TOOLBAR这个ID造成的。