我看到一个源码,
里面利用一个printm函数实现向视窗里面写一些信息什么的,
具体如下:
printm("Cease to compute");void printm(char* str)
{
theApp.ShowM(str);
}CSvmApp theApp;int CSvmApp::ShowM(char *str)
{
char t1=13;
char t2=10; CSvmView* pView=((CSvmView*)(((CMainFrame*)(theApp.m_pMainWnd))->GetActiveView()));
CString SaveText ;
CString NewText;
pView->GetWindowText(SaveText);
SaveText=t2+SaveText;
SaveText=t1+SaveText;
SaveText=str+SaveText;
pView->SetWindowText(SaveText);
pView->FlashWindow(TRUE);
return 1;
}我也照着做了一个,可是实现不了,
用F10跟踪了一下,在pView->SetWindowText(SaveText);之前,SaveText里的值没有问题,看来问题就是出在
pView->SetWindowText(SaveText);
pView->FlashWindow(TRUE);
上了,麻烦指点一下怎么回事!

解决方案 »

  1.   

    这段程序不是往窗口里写东西,猜可能是闪烁任务栏上的图标。程序没问题,你看窗口标题是不是变了。
    尝试将上边的代码加到OnTimer事件中,然后当你的窗口失去焦点后可能能看到效果。
      

  2.   

    这不是往窗口里写东西吗?
    我做了一个
    printm("asdf");
    的命令,视窗里确实写了asdf啊!
      

  3.   

    SetWindowText往往是修改标题栏的
    你看看标题栏有没有变化
      

  4.   

    handle WM_ERACEBKGRND,return TURE directly
      

  5.   

    标题栏没有变化啊?
    我还是弄不动里面的printm()是怎么实现的,
    那位高手给看一下啊?
    我这里有源码,可以发过去!
    3x