用了ATL后,感觉做出一个COM的东西也很简单,就跟用MFC一样,功能强大简单易用,可是还有几个方面的问题一直困扰着我。如果要是用ATL只做数学类的计算,当然很简单,再复杂也可以做出来,不过要是用来画一点东西,或者想改一些什么地方就不行了,比如说咱们经常用到的SetTimer这个函数,在这里我就不知道怎么得到窗口的句柄,还有用CreateThread函数我就又不知道怎么该函数的参数该怎么写,还有字符串也是很麻烦的问题,......等等。之如此类的东西,大家来说说到底是怎么回事啊?

解决方案 »

  1.   

    你可以看看<<深入解析 ATL>>, 由于对 WIN32 不熟悉,很多人离了 MFC 就办不成很多事。
    界面,ATL 提供一组类似 MFC 的类,在 atlcontrols.h 中(这个文件在 MSDN 的某个 sample 目录下)内容太多,你只有自己看了
      

  2.   

    你对atl的理解根本上就错了,atl主要是用来做com开发的。。至于什么数学类的计算跟用atl有什么关系?是算法上的问题。。如果要画一些东西(通常是activex控件),就用api方式画..至于CreateThread函数函数等,这些都是api的函数,直接用api方式调用就行了..处理timer不一定要窗口句并,timer有三种方式..还是多去看看书吧..
      

  3.   

    http://expert.csdn.net/Expert/topic/2306/2306714.xml?temp=.9080927
      

  4.   

    用ATL就是为了来编写COM程序时更简单,使我们不去想许多细节方面.
    而用更多的时间去设计COM本身,使之运行我效率最优化.
    其实真正编写一个实际应用的COM+程序是很复杂的.至于你说的细节方面只有靠你在编程中
    慢慢积累了.
      

  5.   

    to  xiaohyy(醉大饿极) :
    在ATL中就必须要用窗口的句柄,不信你自己式试。
      

  6.   

    同意xiaohyy(醉大饿极)的。谁说必须用窗口句柄?
      

  7.   

    ATL可以取得当前句柄的。不过你说的什么CreateThread和timer什么的倒是不需要句柄。
      

  8.   

    COM简单????等你真正的了解了它之后你就不会觉得它简单。
      

  9.   

    ActiveX OnDraw或者 建一个对话框响应 WM_PAINT 消息LRESULT CXXX::OnPaint(UINT ,WPARAM wParam,LPARAM lParam,BOOL &)
    {
    BeginPaint(&Paint); ... EndPaint(&Paint);
    }SetTimer/CreateThread 和MFC用法一样
      

  10.   

    字符串 常用 
    TCHAR  BSTR CComBSTR
    OLE2T T2OLE自己查查相关资料
      

  11.   

    xiaohyy(醉大饿极) 
    理解的透彻啊
      

  12.   

    定时器事件可不用窗口来触发定时消息。
    采用循环方式计算时间触发也行,atl下就可用多媒体定时器。
      

  13.   

    句柄可以通过 _PModle->  得到,至于timer什么都很简单,如果想用的方便在创建atl项目的时候最好把支持mfc选上,或者直接用api只有这样了,多看看atl的书或者msdn.