freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

symbian系統(tǒng)開發(fā)培訓(xùn)-資料下載頁

2025-01-08 20:06本頁面
  

【正文】 設(shè)置裁剪區(qū)域,原點(diǎn)在某一時(shí)刻 CWindowGc只能由一個(gè)窗口激活void Activate(RDrawableWindow aWindow)void Deactivate()52 控件的重繪 (redraw) 更新在屏幕上的顯示兩種類型系統(tǒng)發(fā)起的window server我們 “必須 ”重繪控件應(yīng)用程序發(fā)起的內(nèi)部狀態(tài)改變我們 “想要 ”重繪控件53 系統(tǒng)發(fā)起的重繪 1. 當(dāng) window server檢測到可能使一個(gè)區(qū)域無效的事件對(duì)話框 /菜單不再需要時(shí)啟動(dòng)一個(gè) GUI程序時(shí)2. 發(fā)送 redraw消息給擁有窗口的應(yīng)用程序3. 應(yīng)用程序通過 CONE發(fā)送消息給相關(guān)的控件4. 調(diào)用控件的 Draw()函數(shù)54 應(yīng)用發(fā)起的重繪 通常是某個(gè)內(nèi)部狀態(tài)改變的結(jié)果實(shí)現(xiàn)方法有以下幾種:Invalidate控件窗口的某部分,讓 window server發(fā)送一個(gè) redraw消息請(qǐng)求 CONE立即重繪整個(gè)控件立即重繪控件的某個(gè)部分所有的實(shí)現(xiàn)方法最終都是調(diào)用 Draw()函數(shù)55 redraw的類型 立即重繪整個(gè)控件CCoeControl::DrawNow()在程序初始化時(shí)采用一旦有機(jī)會(huì)就重繪整個(gè)窗口 : void CCoeControl::DrawDeferred() const部分窗口 : void RWindow::Invalidate(const TRect)立即重繪已知無效的部分void CSemView::DrawSunNow() const{ Window().Invalidate(iSunArea)。 ActivateGc()。 Window().BeginRedraw(iSunArea)。 DrawSun()。 Window().EndRedraw()。 DeactivateGc()。}56 更多 Draw()的信息參數(shù) aRect指定重繪的區(qū)域相對(duì)于控件的原點(diǎn)(左上角)對(duì)于簡單控件,通常重繪整個(gè)控件對(duì)于復(fù)合控件,只重繪部分控件防止屏幕閃爍只重繪位于無效區(qū)域的部分不要短時(shí)間內(nèi)多次重繪某個(gè)區(qū)域盡量避免大面積的重繪57 處理按鍵事件控件能夠檢測并處理按鍵事件按鍵事件的處理是獨(dú)立于資源文件定義的熱鍵處理之外的UI框架已經(jīng)實(shí)現(xiàn)了大部分的按鍵處理典型應(yīng)用導(dǎo)航鍵選擇鍵58 CONE控件堆棧按鍵事件由系統(tǒng)通告給對(duì)其感興趣的控件在一個(gè)特殊的數(shù)據(jù)結(jié)構(gòu)( CONE控件堆棧)中登記感興趣的控件系統(tǒng)給控件發(fā)送 OfferKeyEventL事件CONE控件堆棧中的控件被一一通告事件的發(fā)生,直至某個(gè)控件宣稱接收了該事件控件按優(yōu)先級(jí)被通告事件的發(fā)生控件必須告知系統(tǒng)是否接收了該事件如果沒有任何控件宣稱接收一個(gè)事件,則最后將由 AppUi在它的 CMyAppUi::HandleKeyEventL()中處理該事件59 AppUi對(duì)按鍵事件的處理在 CONE控件堆棧中登記控件void CtestAppUi::ConstructL(){ BaseConstructL()。 iAppContainer = new (ELeave) CtestContainer。 iAppContainerSetMopParent( this )。 iAppContainerConstructL( ClientRect() )。 AddToStackL( iAppContainer )。iAppContainer2 = new (ELeave) CtestContainer2。 iAppContainer2SetMopParent( this )。 iAppContainer2ConstructL( ClientRect() )。 AddToStackL( iAppContainer2 )。 }在析構(gòu)的時(shí)候?qū)⒖丶?CONE控件堆棧中注銷CtestAppUi::~CtestAppUi(){ if (iAppContainer) { RemoveFromStack( iAppContainer )。 delete iAppContainer。 } }60 CCoeControl對(duì)按鍵事件的處理TKeyResponse OfferKeyEventL(const TKeyEvent aEvent, TEventCode aType)TKeyResponse CMyGameView::OfferKeyEventL(const TKeyEvent aKeyEvent,TEventCode aType) { switch(aType) { case EEventKey: if( == EStdKeyNkp5 || == EStdKeyDevice3) { iMyGameEngineFire()。 return EKeyWasConsumed。 } break。 case EEventKeyDown: … case EEventKeyUp: … } return EKeyWasNotConsumed。 }61 點(diǎn)擊事件的處理60系列并不支持筆寫輸入但模擬器支持筆的點(diǎn)擊void HandlePointerEventL(const TPointerEvent)62 復(fù)合控件pound control包含其它控件的控件有時(shí)也稱 container,容器為什么要用復(fù)合控件共享主控件的現(xiàn)有窗口重用控件系統(tǒng)控件( CEikLabel)自己的控件( CMyInfoControl)可以選擇性地重繪子控件63 容器(主控件)的責(zé)任創(chuàng)建窗口只為主控件創(chuàng)建窗口子控件重用該窗口創(chuàng)建和刪除子控件在主控件中定義成員變量在析構(gòu)函數(shù)中刪除子控件擺放子控件設(shè)置自己的大小擺放子控件64 CCoeControl Windows創(chuàng)建一個(gè)新窗口CreateWindowL()為主控件所擁有為子控件所共享重用現(xiàn)有的窗口SetContainerWindowL(const CCoeControl aContainer)子控件調(diào)用該函數(shù)減少與 window server的 c/s交互 }65 創(chuàng)建子控件在容器的第二階段構(gòu)造函數(shù)中創(chuàng)建子控件,并讓它們重用容器的窗口void CtestContainer::ConstructL(const TRect aRect) { CreateWindowL()。//創(chuàng)建主窗口 iLabel = new (ELeave) CEikLabel。 iLabelSetContainerWindowL( *this )。 iLabelSetTextL( _L(Example View) )。 iToDoLabel = new (ELeave) CEikLabel。 iToDoLabelSetContainerWindowL( *this )。 iToDoLabelSetTextL( _L(Add Your controls\n here) )。 SetRect(aRect)。 ActivateL()。 }66 通告給 CONE相應(yīng)的信息告訴 CONE擁有的子控件的數(shù)目TInt CtestContainer::CountComponentControls() const缺省的實(shí)現(xiàn)返回 0返回子控件的指針CCoeControl* CtestContainer::ComponentControl(TInt aIndex) const用來依次對(duì)所有的子控件執(zhí)行操作第一個(gè)控件的 index為 0,順序通常不是很重要如果忘記重載上述兩個(gè)函數(shù),則子控件依然存在,但無法顯示,因?yàn)?CONE不知道我們的容器有幾個(gè)子控件67 復(fù)合控件的繪圖重繪容器時(shí)也重繪了子控件首先調(diào)用容器的 Draw()然后調(diào)用子控件的 Draw()CONE利用 CountComponentControls() 和 ComponentControl(TInt aIndex) 依次調(diào)用自控件的 Draw()防止閃爍如果子控件覆蓋了整個(gè)容器的區(qū)域,則無須為容器提供 Draw(),否則會(huì)重繪兩次同一區(qū)域,產(chǎn)生閃爍只重繪沒有被子控件覆蓋的區(qū)域設(shè)置裁剪區(qū)域void SetClippingRect(const TRectaRect)Tint SetClippingRegion(const TRegion aClippingRegion) TRegionFix10 clippingRegion。()。(Rect())。(iSubControl1)。//裁剪掉該子控件占用的區(qū)域(iSubControl2)。68 轉(zhuǎn)發(fā)按鍵事件只有容器被壓入 CONE控件堆棧由 AppUi來將其壓棧必須轉(zhuǎn)發(fā)按鍵事件給子控件具體實(shí)現(xiàn)TKeyResponse CMainControl::OfferKeyEvent(..){if (aType!=EEventKey) return。return iSubControlOfferkeyEventL(..)}69Symbian 構(gòu)建工程構(gòu)建工程的工具: bldmake和 abld70Symbian 構(gòu)建工程216。 VC6216。 bldmakebldfiles216。 abldbuildvc6216。 WINS(WINdowsSingleProcess)216。 bldmakebldfiles216。 abldbuildwinsudeb216。 ARMI216。 bldmakebldfiles216。 abldbuildarmiurel216。 THUMB216。 bldmakebldfiles216。 abldbuildthumburel216。 必須在 \myproject\group下面執(zhí)行71Symbian 構(gòu)建工程216。 abldclean216。 刪除由對(duì)應(yīng)的 abld命令創(chuàng)建的所有文件216。 編譯時(shí)產(chǎn)生的所有中間文件216。 由 linker產(chǎn)生的所有可執(zhí)行文件和導(dǎo)入庫216。 abldreallyclean216。 做 abldclean要做的事情216。 還刪除由 abldexport導(dǎo)出的文件216。 以及由 abldmakefile或 abldtest對(duì)應(yīng)命令產(chǎn)生的 makefile文件72Symbian安裝應(yīng)用程序到手機(jī)硬件上216。 將代碼部署到手機(jī)硬件的唯一方法216。 是由軟件安裝器從安裝包即 SIS文件(后綴為 .sis)中讀入216。 為了創(chuàng)建一個(gè) SIS文件216。 要使用打包文件 (.pkg)來指定應(yīng)用程序關(guān)聯(lián)的文件和原數(shù)據(jù)216。 打包文件會(huì)傳遞給 SIS文件創(chuàng)建工具 (MakeSIS)216。 打包文件包括216。 應(yīng)用程序需要的一組文件、規(guī)則、選項(xiàng)和依賴關(guān)系的列表73Symbian 安裝應(yīng)用程序到手機(jī)硬件上216。下面是應(yīng)用程序 MOBILE的安裝包例子216。 在 .pkg文件中,有分號(hào)開始的行是注釋行,并且空行會(huì)被忽略。 Installation file for $$Root$$ application。LanguagesEN。 UID is the app39。s UID{手機(jī)新 聞 },(0x04E7E141),1,0,0。Supports Series 60 v 。This line indicates that this installation is for the Series 60 platform 。This line must appear _exactly_ as shown below in the sis file。If this line is missing or incorrect, the sis file will not be able。to be installed on Series 60 platforms(0x101F7960), 0, 0, 0, {Series60ProductID} 74Symbian 安裝應(yīng)用程序到手機(jī)硬件上。 Four files to install。C:\Symbian\\S60_2nd_FP2_SC\Epoc32\release\thumb\urel\p !:\system\apps\MOBILE\C:\Symbian\\S60_2nd_FP2_SC\Epoc32\data\z\system\apps\MOBILE\MO !:\system\apps\MOBILE\C:\Symbian\\S60_2nd_FP2_SC\Epoc32\data\z\system\apps\MOBILE\MO !:\system\apps\MOBILE\C:\Symbian\\S60_2nd_FP2_SC\Epoc32\data\z\system\apps\MOBILE\MO !:\system\apps\MOBILE\C:\Symbian\\S60_2nd_FP2_SC\Epoc32\data\z\system\apps\MOBILE\MO !:\system\apps\MOBILE\75Symbian 安裝應(yīng)用程序到手機(jī)硬件上以 開始的行是 語 言部分 它列出 應(yīng) 用程序所支持的所有 語 言 使用兩個(gè)字母的代 碼 , 如同 Symbian OS Library 中 語 言列表描述的那 樣本例中 MOBILE 應(yīng) 用程序支持英 語 (EN) 由 % 的部分 : 是廠商本地化和非本地化的名稱 本地化名稱被用于 對(duì)話 框中, 顯 示 給 用 戶 而非本地化廠商名稱 則 由 軟 件安裝器內(nèi)部使用以一個(gè)包含在中括號(hào)中十六 進(jìn) 制 UID 開 頭 的行是必需的 它用于確保只有 為 特定手機(jī)硬件 設(shè)計(jì) 和 測試 的 應(yīng) 用程序才能安裝 重要的是 值 是十六 進(jìn) 制的 UID [0x101F7960] 以及引號(hào)中的串 (Series60ProductID) 本例中 限制 只能安裝到 S60 的手機(jī)上 只能安裝到 S60 對(duì)應(yīng) 描述是 [0x101F7960], 0, 0, 0, {Series60ProductID}76 謝謝大家 !77演講完畢,謝謝觀看!
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1