原创  s60的输入对户框: 收藏

S60的输入对话框有时候背景和文字颜色都是白的,主要因为UI的构造,BaseConstructL(),没有允许换肤,解决方案:

1.UI构造函数如下写:

#if (defined __WINS__)||(defined EKA2)
  BaseConstructL( CAknAppUi::EAknEnableSkin );
 #else
  BaseConstructL( EStandardApp | ELayoutAwareAppFlag | EAknEnableSkin);
 #endif

2.在资源中设置标识:

flags = ENoCustomDraw;

上述两者只可取其一;

附:

text editor resource is defined as an EDWIN structure in a resource file. The EDWIN structure is defined in eikon.rh as follows:

STRUCT EDWIN

    {

    LONG flags=0;

    WORD width=0;

    WORD lines=1;

    WORD maxlength=0;

    AKN_EDITOR_EXTENSIONS

    }

   

Note: Symbian OS versions older than v9.1 (S60 1st and 2nd Edition) specify the text editor resource in the uikon.rh file.

The fields listed in the EDWIN structure are common to all Symbian reference designs. Their meaning and use is described in the Text editor resource structure fields table below.

Field

Meaning

Flags

Bit field of flags describing properties of the editor control to be created. These flags are defined in CEikEdwin::TFlags. The properties are listed and described in Numeric Key Maps.

Width

The width of the control; can be specified either by the number of characters or by pixels depending on whether the flag EEikEdwinWidthInPixels is specified; if specified by the number of characters, the widest character of the chosen font is used to determine the actual width of the control.

Lines

The number of text lines that the editor will display at once.

maxlength

The maximum number of characters that can be stored in the editor control.

Table: Text editor resource structure fields

AKN_EDITOR_EXTENSIONS defines more fields to the resource. These fields are specific to the S60 platform. The extensions contain the following fields:

WORD default_case=EAknEditorTextCase;

WORD allowed_case_modes=EAknEditorAllCaseModes;

WORD numeric_keymap=EAknEditorStandardNumberModeKeymap;

WORD allowed_input_modes=EAknEditorAllInputModes;

WORD default_input_mode=EAknEditorTextInputMode;

LLINK special_character_table=-1;

WORD avkon_flags=EAknEditorFlagDefault;

WORD max_view_height_in_lines=0;

WORD base_line_delta=0;

WORD spare=0;

There are many ways to alter the functionality of the text editor. The S60 platform-specific text editor resource structure fields table below lists the options and describes their meaning.

Field

Meaning

default_case

The default case to apply when receiving user input (input modes and cases are described in Input Mode and Case).

allowed_case_modes

The allowed case modes; the value set for default_case must be included in this field.

numeric_keymap

The numeric key map to be used when the editor is in numeric entry mode.

allowed_input_modes

The allowed input modes (input modes and cases are described in Input Mode and Case); as in case modes, the value set for default_input_mode must be included in this field.

default_input_mode

The default input mode.

special_character_table

The special character table to be displayed on user request. Special character tables are described in Special Character Tables.

avkon_flags

Bit field of editor flags specific to the S60 platform.

max_view_height_in_lines

 

base_line_delta

 

spare

 

Table: S60 platform-specific text editor resource structure fields

发表于 @ 2009年02月24日 11:31:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:s60 5.0接收UI触击事件 | 新一篇:BREW 程序开机自启动

  • 发表评论
  • 评论内容:
  •  
Copyright © brew2003
Powered by CSDN Blog