问题是下面这样的解决的办法就是
以前在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 ); |