关于ATL控件的几个问题
一、我用ATL做了一个控件,我想让他在运行时不可见,但是,如果在ATL Wizard中选中“运行时不可见”,控件则接受不到WM_CREATE消息,且,只有选择了Window Only选项,控件才能接收到CREATE消息,但是,在Form中加入控件后,运行时,控件的背景总是白色的底,我在WM_CREATE消息相应函数中调用ShowWindow(SW_HIDE),没有结果,函数返回false。我如何才能使控件运行时不可见,且又能接受消息呢?我在VB中,将控件的visible属性设成了false,就可以做到。我在控件中如何做到自己隐藏且没有白色的底块呢?
二、用ATL做的控件,如果不需要Window Only消息,那么,也就接受不到CREATE消息了,我该在什么地方进行控件的初始化呢?如果初始化工作,和控件的父窗口(容器窗口)句柄有关,改在什么地方初始化?
三、如果我想控件初始化的时候改变一些控件属性,比如控件的大小。我该怎么做?在什么地方做。我曾在WM_CREATE响应函数中改变控件的大小(用MoveWindow函数)不成功,但是,在OnDraw函数中则成功了,为什么?我感觉,在OnCreate函数执行之后,还有地方进行了控件属性的初始化,将属性值附为设计时的值,是这样吗?如果我要改控件大小,该在设么地方该呢?
谢谢。