我想实现启动一个对话框时,该对话框本身先抓到自己快照一张,请问快照函数放入的位置?把快照函数放在OnInitDialog()中发现快照时,界面还没有显示,抓快照失败
把快照函数放到OnPanit()后面,也只能抓到一个空白的面板,抓快照失败
放在按钮中,界面启动后,收到点击抓快照能实现,但该方式不是自动的请问该放在什么位置?

解决方案 »

  1.   

    处理对话框WM_SHOWWINDOW,在响应函数里PostMessage自定义消息,放在自定义消息处理函数里
    这样试试
      

  2.   

    WM_SHOWWINDOW,PostMessage都失败了,难道只能用定时器吗,定时器可靠性不高,还有别的办法吗
      

  3.   

    WM_SHOWWINDOW时候,还没有显示,得到错误的。
    PostMessage时候只有白板,没有控件用定时器实现了,在OnInitDialog()开启定时器,设置延迟1ms,定时器事件中抓图,然后关掉定时器就可以了
      

  4.   

    http://blog.csdn.net/VisualEleven/archive/2011/02/23/6202796.aspx
      

  5.   

    没办法啊,工程中需要用到这个功能,我也不想简单问题复杂化具体用途是,软件根据数据自动绘制曲线(可能界面不能显示),这个绘制曲线以图片形式保存,然后图片自动插入word中,
      

  6.   

    你可以把draw曲线到窗体改成draw到bmp上..
      

  7.   

    昨天的问题解决了,
    后来在抓图前,加入了一个消息循环,保证界面刷新后抓图,满足工程中应用。至于不显示窗体,直接存入bmp留到以后了。
    结贴了,感谢大家