关于symbian form 没有背景的解答

问题是下面这样的解决的办法就是

以前在AppUI里面的的 ConstructL是这样的BaseConstructL();只要声明假如背景就可以BaseConstructL(EAknEnableSkin);   

关于form 的背景不是系统的问题

 



我想出现的效果是就是主题背景上面有form 但是出现的效果里面是没有背景的后面是白色的底色 不知道那里的问题:

我用symbian  的form 编写录入程序 资源文件这样:
我想要的效果:


我做出来的效果:

RESOURCE DIALOG r_myform_form_dialog
    {
    flags =  EEikDialogFlagFillAppClientRect |
    //EEikDialogFlagNoDrag |
            EEikDialogFlagNoTitleBar |// EEikDialogFlagNoBorder |
            EEikDialogFlagCbaButtons;
    buttons = R_AVKON_SOFTKEYS_OPTIONS_BACK;
    form = r_aknexform_text_field_form;
    }

//-----------------------------------------------------------------------------
//
//    r_aknexform_text_field_form
//    Standard for Form. there are two text fields.
//
//-----------------------------------------------------------------------------
//
RESOURCE FORM r_aknexform_text_field_form
    {
    flags =  EEikFormUseDoubleSpacedFormat|EEikFormEditModeOnly ;
    items =
        {
        DLG_LINE
            {
            type = EEikCtEdwin;
            prompt = qtn_aknexform_form_label_ed1;
            id = EmyformDlgCIdEdwin;
            itemflags = EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
            control = EDWIN
                {
                flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable;
                width = AKNEXFORM_EDWIN_WIDTH;
                lines = AKNEXFORM_EDWIN_LINES;
                maxlength = 50;
                // added to limit expanding in forms.
                // If you want full screen use 5 here
                max_view_height_in_lines = 5;
                // if you have the line above, you must have this.  
                // It's calculable from LAF
                base_line_delta = 21;
                };
            },
        DLG_LINE
            {
            type = EEikCtEdwin;
            prompt = qtn_aknexform_form_label_ed2;
            id = EmyformDlgCIdEdwin2;
            itemflags = EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
            control = EDWIN
                {
                flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable;
                width = AKNEXFORM_EDWIN_WIDTH;
                lines = AKNEXFORM_EDWIN_LINES;
                maxlength = 50;
                // added to limit expanding in forms.
                // If you want full screen use 5 here
                max_view_height_in_lines = 5;
                // if you have the line above, you must have this.  
                // It's calculable from LAF
                base_line_delta = 21;
                };
            }
        };
    }

类的实现这样:

#include "ZFirst_Login_Form.h"


CZFirst_Login_Form* CZFirst_Login_Form::NewL()
        {
        CZFirst_Login_Form* self = new ( ELeave ) CZFirst_Login_Form();
    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop();
    return self;
        }

CZFirst_Login_Form::~CZFirst_Login_Form()
        {
        }
CZFirst_Login_Form::CZFirst_Login_Form()
        {
        // No implementation required
        }

void CZFirst_Login_Form::ConstructL()
        {
        CAknForm::ConstructL();
        }
TInt CZFirst_Login_Form::ExecuteLD( TInt aResourceId )
        {
    iCurrentId = aResourceId;

    return CAknForm::ExecuteLD( aResourceId );        
        }
void CZFirst_Login_Form::PrepareLC( TInt aResourceId )
        {
    iCurrentId = aResourceId;

    CAknForm::PrepareLC( aResourceId );
        }
//保存数据
TBool CZFirst_Login_Form::SaveFormDataL()
        {
        return ETrue;
        }
//不保存表单数据。
void CZFirst_Login_Form::DoNotSaveFormDataL()
        {
        
        }

//给成员数据设置默认值
void CZFirst_Login_Form::PostLayoutDynInitL()
        {
        CAknForm::PostLayoutDynInitL();
        }

//显示保存查询。如果用户回答“不”,此查询返回字段值为编辑前的值。
//编辑模式下这就是所谓的后台功键 back
TBool CZFirst_Login_Form::QuerySaveChangesL()
        {
    TBool isAnsYes( CAknForm::QuerySaveChangesL() );

    if ( isAnsYes )
        {
        SaveFormDataL();
        }
    else
        {
        // Case that answer "No" to query.
        DoNotSaveFormDataL();
        }

    return isAnsYes;
        }
调用在form中这样:
CZFirst_Login_Form* iform = CZFirst_Login_Form ::NewL();
TInt ret = iform->ExecuteLD( aResourceId );

你可能感兴趣的:(dialog,Symbian,login)