【发布时间】:2011-08-13 21:08:41
【问题描述】:
我有一个当前正在调试模式下运行的 MFC 项目。
我有这个“运行”按钮,当我点击它时,我的算法就会运行,最终绘制出来。
过去,点击运行后,我一直看到主视图。 过了一会儿(不知道是什么改变了它),点击后视图回到了后面(在 Visual Studio 后面)。我能够通过在“运行”一开始使用 Show_Window(SW_SHOW) 来修复它。
现在似乎没有任何效果 - 我也尝试过 OnDraw 和
`SetWindowPos(&CWnd::wndTop,0, 0, 0, 0,SWP_NOMOVE | SWP_NOSIZE);`
单击运行后,我总是将 Visual Studio 放在我的视图顶部!!! (即使没有断点、异常……)
这是我的运行函数:
void CMaBakerView::maBakerRun(){
SetWindowPos(&CWnd::wndTop,0, 0, 0, 0,SWP_NOMOVE | SWP_NOSIZE);
CRect ClientRect;
GetClientRect(ClientRect);
CDC* pDC = GetDC();
OnDraw(pDC);
int xMax = ClientRect.right;
int yMax = ClientRect.bottom;
//fillGUIData();
try
{
ShowWindow(SW_SHOW);
RunAlgorithm::run(xMax, yMax);//Here only pure logic is run, i can post the code of it if anyone thinks its relevant
//Other nonimportant code
} catch...
我注意到,在注释掉 RunAlgorithm::run 时,并没有出现问题,但这可能是因为它是函数中唯一真正需要时间的东西...... 谁能给我指路?
我使用的是 Visual Studio 2008,专业版
谢谢!
【问题讨论】: