aknexeditorcontainer22.h

来自「国内著名嵌入式培训机构内部资料,内含一些实例代码,包括技术专题书籍」· C头文件 代码 · 共 202 行

H
202
字号
/*  Copyright (c) 2004, Nokia. All rights reserved */

#ifndef __AKNEXEDITORCONTAINER22_H__
#define __AKNEXEDITORCONTAINER22_H__

// INCLUDES
#include <aknview.h>

// DEFINITIONS
#define TOP_POSITION        TPoint( 10, 5 )
#define EDITOR_ROW_SIZE     TSize( 0, 17 )
#define LABEL_ROW_SIZE      TSize( 0, 18 )

#define TIME_DATE_DEFAULT_1 TDateTime( 2000, EDecember, 6 - 1, 9, 0, 0, 0 )
#define TIME_DATE_DEFAULT_2 TDateTime( 2000, EDecember, 6 - 1, 0, 0, 0, 0 )
#define TIME_DATE_DEFAULT_3 TDateTime( 2000, EDecember, 26 - 1, 9, 0, 0, 0 )

// Duration default is half an hour
#define DURATION_DEFAULT_1 1800
// CONSTANTS
const TInt KNumberOfControls    = 8;
const TInt KBufLength = 64;

// ENUMARATIONS
enum TControls
    {
    ETimePrompt,
    EDatePrompt,
    EDurationPrompt,
    ETimeAndDatePrompt,
    ETATimeEditor,
    ETADateEditor,
    ETADurationEditor,
    ETATimeAndDateEditor
    };

// FORWARD DECLARATIONS
class CCoeControl;
class CEikLabel;
class CEikTimeEditor;
class CEikDateEditor;
class CEikTimeAndDateEditor;
class CEikDurationEditor;

// CLASS DECLARATION

/**
*  CAknExEditorContainer  container control class.
*  
*/
class CAknExEditorContainer22 : public CCoeControl, MCoeControlObserver
    {
    public: // Constructors and destructor
        /**
        * CAknExEditorContainer22
        * C++ default constructor.
        */
        CAknExEditorContainer22();

        /**
        * ConstructL
        * Default constructor.
        * @param aRect Frame rectangle for container.
        */
        void ConstructL( const TRect& aRect );

        /**
        * ~CAknExEditorContainer22
        * Destructor.
        */
        virtual ~CAknExEditorContainer22();

    public: // New functions
        /**
        * FocusTo
        * Change focussed control using specified command.
        * @param aCommand Command to be used.
        */
        void FocusTo( TInt aCommand );

        /**
        * ShowFormL
        * Show form.
        */
        void ShowFormL();

        /**
        * PrepareForFocusLossL
        */
        void PrepareForFocusLossL();

    private: // Functions from base classes

        /**
        * From CoeControl,SizeChanged.
        */
        void SizeChanged();

        /**
        * From CoeControl,CountComponentControls.
        */
        TInt CountComponentControls() const;

        /**
        * From CCoeControl,ComponentControl.
        * @param aIndex of control
        */
        CCoeControl* ComponentControl( TInt aIndex ) const;

        /**
        * From CCoeControl, Draw client rect.
        * @param aRect Frame rectangle for container.
        */
        void Draw( const TRect& aRect ) const;

        /**
        * OfferKeyEventL
        * From CCoeControl, Handles key event.
        * @param aKeyEvent The key event.
        * @param aType The type of the event.
        * @return Indicates whether or not the key event was
        *           used by this control.
        */
        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
                                    TEventCode aType );

        /**
        * FocusChanged
        * @param aDrawNow
        */
        void FocusChanged( TDrawNow aDrawNow );

    private:
        /**
        * HandleControlEventL
        * From MCoeControlObserver, Handles an event of type aEventType
        * @param aControl Pointer to component control
        * @param aEventType Event Code
        */
        void HandleControlEventL( CCoeControl* /*aControl*/,
                                    TCoeEvent /*aEventType*/ );
        
    private: //data
        /**
        * iLabel1
        * Owned by CAknExEditorContainer22 object.
        */        
        CEikLabel*              iLabel1;

        /**
        * iLabel2
        * Owned by CAknExEditorContainer22 object.
        */
        CEikLabel*              iLabel2;

        /**
        * iLabel3
        * Owned by CAknExEditorContainer22 object.
        */
        CEikLabel*              iLabel3;

        /**
        * iLabel4
        * Owned by CAknExEditorContainer22 object.
        */
        CEikLabel*              iLabel4;

        /**
        * iTimeEditor
        * Owned by CAknExEditorContainer22 object.
        */
        CEikTimeEditor*         iTimeEditor;

        /**
        * iDateEditor
        * Owned by CAknExEditorContainer22 object.
        */
        CEikDateEditor*         iDateEditor;
        
        /**
        * iTimeAndDateEditor
        * Owned by CAknExEditorContainer22 object.
        */
        CEikTimeAndDateEditor*  iTimeAndDateEditor;

        /**
        * iDurationEditor
        * Owned by CAknExEditorContainer22 object.
        */
        CEikDurationEditor*     iDurationEditor;

        /**
        * iFocusedControl
        * Does not Own
        */
        CCoeControl*            iFocusedControl;
    };

#endif // __AKNEXEDITORCONTAINER22_H__

// End of File

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?