控件的二阶段构造函数
初学Symbian编程,有一个小问题
ConstructL()函数是不是应该被设为private?
我在写一个小控件的时候
class CSymbian1Container : public CCoeControl
{
public:
static CSymbian1Container* NewL(const TRect& aRect,const CCoeControl* aParent);
static CSymbian1Container* NewLC(const TRect& aRect,const CCoeControl* aParent);
~CSymbian1Container();
void ConstructL(const TRect& aRect, const CCoeControl* aParent);
}
然后在另一个类CSymbian1AppUi
class CSymbian1AppUi : public CAknAppUi
{
public:
void ConstructL(void);
~CSymbian1AppUi();
}
这个类的ConstructL函数完成时出现问题
void CSymbian1AppUi::ConstructL(void) {
BaseConstructL();
iAppContainer = new (ELeave) CSymbian1Container;
iAppContainer->SetMopParent( this );
iAppContainer->ConstructL( ClientRect() );//here
AddToStackL( iAppContainer );
}
调用CSymbian1Container中的ConstructL时少了一个参数,就是const CCoeControl* aParent这个参数,我应该怎么加上呢?ClientRect() 又是什么函数呢?
感谢回答!