例如在dll中循环得到一组数据:
      
   for(i=0;i<100;i++)
   {  
      x[i]=i;
      y[i]=i;    }在主程序中用OnDraw在一个对话框中想把每个(x,y)点“实时”画出。    我想问的是,当dll中有一组(x[0],y[0])得到时,“怎么通知”Ondraw把(x[0],y[0])这个点画上,当这个点画完后,再让dll计算(x[1],y[1]),然后“再通知”Ondraw把(x[1],y[1])这个点画上,然后dll再计算(x[2],y[2]),依此类推。

解决方案 »

  1.   

    用消息可以实现吗?
    比如:
        dll在for循环中发一个消息通知ondraw要绘一个点,当ondraw画完时,在发个消息给dll,通知dll点画好了,然后让dll继续接着算下一个点。    可以的话怎么把消息发给ondraw呢?
      

  2.   

    不能把全部的点计算完毕再画么?
    如果不行,可以用消息机制实现,在DLL中保存一个主程序窗口句柄,然后发送自定义消息SendMessage,然后在主程序中接收就可以了。不过如果画点的数量非常大,这样做似乎效率不佳。
      

  3.   

    可以在DLL中计算,算完后发消息通知主程序,在主程序中画调用DLL时,可以把处理消息的窗口的句柄传递给DLL,这样就可以发消息了