我想在我的程序中实现以下功能:
忙的时候处理用户选中菜单功能,空闲的时候处理截面更新工作,接受到的一些信息显示出来,请问怎么能实现,谢谢!

解决方案 »

  1.   

    这样的好事?!!!
    UP
    UP
    接分!
      

  2.   

    点菜单项后生成一辅助线程以处理数据,这样就不会占用本来干界面更新的主线程。如果处理数据过程中需要更新界面,如显示进度,数据传递是否错误。在点菜单项发起处理数据线程时,传递进去窗口的句柄(不是CWnd*,必须是HWND),如:传递进显示当前数据处理进度的窗口的句柄,然后在处理线程中向传递进来的句柄发送自定义消息以指示当前进度。而显示进度的窗口从CWnd派生(如果不是用MFC编写,请使用子类化技术,即替换相应窗口句柄的消息处理过程),添加处理自定义消息的响应函数以更新自身界面。
    如果有多个窗口和处理线程有关(如主窗口需要得到网络连接失败的通知),用一个结构包装相关的窗口句柄,然后再将结构的一个实例传进处理线程,处理线程如上地向对应的窗口发送对应的自定义消息。
    最后还应在处理线程中周期等待一事件以实现主线程可以中断处理线程,以此同意客户通过界面取消数据处理操作。