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