您的位置:程序门 -> vc/mfc -> atl/activex/com



创建一个atlaxwin窗口不成功? 请教


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


创建一个atlaxwin窗口不成功? 请教[已结贴,结贴人:bborn]
发表于:2008-01-07 14:04:56 楼主
按照   http://support.microsoft.com/kb/192560/en-us   的方法

      hwnd   hwnd   =   ::createwindow("atlaxwin",   "mscal.calendar",
                  ws_child ¦ws_visible,   10,   10,   500,   300,   hparent,   null,
                  ::getmodulehandle(null),   null);

但是总是创建不成功
hwnd为空
errorcode   是1407   cannot   find   window   class
看起来是   atlaxwin   的问题
但是不知道该怎么解决
请大家帮忙
发表于:2008-01-07 15:52:111楼 得分:3
先调atlaxwininit(),这个函数注册该窗口类。
发表于:2008-01-07 16:25:132楼 得分:3
"atlaxwin"不是系统预定义的窗口类名,也不是commctrl定义的窗口类名,不能直接创建,必须首先注册这个窗口类名才能创建窗口
发表于:2008-01-07 18:55:343楼 得分:4
一个最简单的例子:
int   apientry   winmain(…){
        msg       msg={0};  
        void*   init   =   getprocaddress(loadlibrary("atl"),"atlaxwininit");     _asm   call   init;
        createwindow("atlaxwin",   "https://...",   ws_visible ¦ws_popup,0,0,getsystemmetrics(sm_cxscreen),getsystemmetrics(sm_cyscreen),0,0,0,0);
        while(getmessage(&msg,0,0,0))   dispatchmessage(&msg);  
  return   0;
}  
发表于:2008-01-07 23:06:194楼 得分:0
呵呵   楼上的       你这个是codeproject上的吧
我昨天也是搜索到了这个看了才试验一下的


请教jameshooo  
需要如何注册了?

难道是这样?
wndclassex   wcex;

wcex.cbsize   =   sizeof(wndclassex);
......
wcex.lpszclassname =   "atlaxwininit";
registerclassex(&wcex);
发表于:2008-01-08 06:39:555楼 得分:2
正确,就是用registerclassex
发表于:2008-01-08 09:48:526楼 得分:8
支持一楼,正是调用atlaxwininit(),注册了atlaxwinxx,atlaxwinlicxx两个窗口类,而后才能创建,其中的xx为atl
版本号,其实你也可以不理会版本,而用caxwindow类来创建包容窗口。
步骤为:
atlaxwininit();
caxwindow   ax;
ax.create(...);
ax.createcontor(...);
发表于:2008-01-09 09:56:487楼 得分:0
我调用了   atlaxwininit   还是不行
用yxz_lp方法
caxwindow       ax;  
ax.create(...);  
可以

我想知道
用registerclassex   是怎么注册了?
发表于:2008-01-09 11:29:338楼 得分:0
想使用activex   control必须要建立一个符合activex规范的具备相应接口的host。
由于host是很模式化的,atl库通过atlhost.h文件实现了通用的可重用的host。
caxwindow       ax;
ax.create(...);
这些代码正是使用该host的标准步骤,具体细节和解释参看msdn或者
atl   internals:   working   with   atl   8,   second   edition
chapter   12.   control   containment  
用emule可下该书英文电子版。


快速检索

最新资讯
热门点击