Hot Search : Source embeded web remote control p2p game More...
Location : Home Search - softKey
Search - softKey - List
DL : 0
javaScript实现的软键盘,希望大家交流下载-Windows to achieve the soft keyboard, we hope that the exchange Download
Date : 2008-10-13 Size : 6.6kb User : 杨一

屏幕软键盘,可通过软键盘向其他程序中输入字符
Date : 2008-10-13 Size : 33.12kb User : tjcnc

 

Objective
This topic describes how to create a windowed application that will share the display with other applications.
Brew® MP windowed applications need to be written differently than traditional Brew MP applications. Traditional Brew MP applications, when running in the foreground, occupy full screen space and can modify the display at any time. In the windowing framework, multiple applications share the display at the same time and are not allowed to modify the display arbitrarily. A windowed application also needs to create one or more widgets to be used to create the windows.
A windowed application needs to:
·                  Create and initialize one or more widgets to be passed to IWindowMgr_CreateWindow().
The application can implement its own IWidget, or it can make use of an existing IWidget.
·                  Handle the EVT_APP_START_WINDOW event (and create a window).
·                  Implement handlers for visibility changes, focus changes, and extent changes. The implementation of these handlers is dependent on the details of the application.
·                  Draw in two stages:
·                                  Tell the container that drawing is necessary (ICONTAINER_Invalidate()).
·                                  Draw only when told to draw by the container (IWIDGET_Draw()).
Note: A windowed application should not call any functions that modify IDisplay directly. This includes explicit IDisplay function calls or implicit updates, such as calls to IIMAGE_Draw() or ICONTROL_Redraw(). Drawing should happen only on demand, for example, when IWIDGET_Draw() is called for the widget used to create the window. Existing Widget based applications follow these guidelines and, with minor modifications, can be ported to the windowing framework.
Event handling
A windowed application must respond to these events:
EVT_APP_START_WINDOW and EVT_APP_START
A window-based application receives EVT_APP_START_WINDOW first. If the application returns TRUE for this event, the application does not receive EVT_APP_START. If an application needs to support both the environments (window based and non-window based), it should handle both events.
When the application receives EVT_APP_START_WINDOW, it should create one or more windows.
If creation of IWindowMgr0 fails while handling EVT_APP_START_WINDOW, the application should assume that the platform does not support window-based applications. In this case, the application should return FALSE and continue the application logic in the code for EVT_APP_START.
EVT_APP_SUSPEND and EVT_APP_RESUME
After an application returns TRUE for EVT_APP_START_WINDOW, it will not receive EVT_APP_SUSPEND and EVT_APP_RESUME as non-windowed Brew MP applications do. Instead, the application must check for window status events that are sent to the widget through EVT_WDG_SETPROPERTY events. For EVT_WDG_SETPROPERTY events, wParam indicates which property was set, and dwParam specifies the value of the property. When the AEEWindowMgrExt_PROPEX_STATE property has a value of AEEWindowMgrExt_STATE_VISIBLE, the window is visible.
EVT_WDG_WINDOWSTATUS
The EVT_WDG_WINDOWSTATUS event is sent to a widget to notify it about various window related status messages. AEEWindowStatus.h contains information on the meaning of various status messages.
Sample code location

ZIP filename
Location
Run app
hellowindowapp
Brew MP Library
·                       Download and extract the ZIP file.
·                       Compile the app.
·                       Run it on the Brew MP Simulator.

Example of a windowed application
In the hellowindowapp sample, HelloWindowApp_HandleEvent handles the EVT_APP_START_WINDOW event and creates soft key and pop-up windows:
   case EVT_APP_START_WINDOW:   
      DBGPRINTF("EVT_APP_START_WINDOW");
 
      // Create the softkey and popup windows
      HelloWindowApp_CreateSoftkey(pMe);
      HelloWindowApp_CreateOrActivatePopup(pMe);
 
      // Handling this event tells Brew that we are a windowing
      // application.
      return TRUE;  
HelloWindowApp_CreateSoftkey() creates the soft key widget, sets the color text of the widget, then calls HelloWindowApp_CreateWindow() to create the window.
   WidgetWindow *pWindow = &pMe->softkeyWindow;
  
   if (pWindow->piWindowWidget != NULL) return;
   pWindow->pszDbgName = "Softkey";
   pWindow->pMe = pMe;
  
   (void) ISHELL_CreateInstance(pMe->applet.m_pIShell, AEECLSID_SoftkeyWidget,
            (void **) &pWindow->piWindowWidget);
   if (pWindow->piWindowWidget == NULL) return;
 
   {
      WidgetExtent extent = {0, HWA_SOFTKEY_HEIGHT};
      IWidget_SetExtent(pWindow->piWindowWidget, &extent);
   }
  
   (void) IWidget_SetBGColor(pWindow->piWindowWidget, MAKE_RGBA(200,200,200,255));
  
   // Now set the softkeys text
   {
      IWidget *piTextWidget = NULL;
      (void) IWidget_GetSoftkey(pWindow->piWindowWidget, PROP_SOFTKEY1, &piTextWidget);
     
      if (piTextWidget != NULL) {
         (void) IWidget_SetText(piTextWidget, L"Hover", TRUE);
      }
      RELEASEIF(piTextWidget);
 
      (void) IWidget_GetSoftkey(pWindow->piWindowWidget, PROP_SOFTKEY2, &piTextWidget);
      if (piTextWidget != NULL) {
         (void) IWidget_SetText(piTextWidget, L"Close", TRUE);
      }
      RELEASEIF(piTextWidget);
   }
 
   HelloWindowApp_CreateWindow(pMe, pWindow, AEEWindowMgrExt_CLASS_Softkey);  
HelloWindowApp_CreateWindow() creates the soft key window, as follows:
   int result;
   uint32 winId;
   AEEWindowProp propList[1];
  
   // Set custom window handler
   HANDLERDESC_Init(&pWindow->hdHandler, HelloWindowApp_WindowHandler, pWindow, NULL);
   IWIDGET_SetHandler(pWindow->piWindowWidget, &pWindow->hdHandler);
        
   propList[0].id = AEEWindowMgrExtProp_CLASS;
   propList[0].pbyLen = sizeof(winClass);
   propList[0].pby = (void *) &winClass;
     
   result = IWindowMgr_CreateWindow(pMe->piWindowMgr, (IQI*) (void *) pWindow->piWindowWidget,
      propList, ARR_SIZE(propList), &winId);
 
   if (result != SUCCESS) {
      DBGPRINTF("Window creation failed for %s: %d", pWindow->pszDbgName, result);
      HelloWindowApp_DestroyWindow(pWindow);
   } else {
      DBGPRINTF("Window %s created: id=%d", pWindow->pszDbgName, winId);
   }
HelloWindowApp_CreateOrActivatePopup() creates the widget for the pop-up window, then calls HelloWindowApp_CreateWindow() to create the pop-up window.
   pWindow->piWindowWidget = HelloWindowApp_CreateAndInitImageWidget(
                                pMe,
                                "popups.main" // Image as defined in appinfo.ini
                             );
 
   if (pWindow->piWindowWidget == NULL) return;
 
   {
      WExtent extent = {HWA_POPUP_WIDTH, HWA_POPUP_HEIGHT};
      IWIDGET_SetExtent(pWindow->piWindowWidget, &extent);
   }
 
   HelloWindowApp_CreateWindow(pMe, pWindow, AEEWindowMgrExt_CLASS_Popup);
Related information
·                  See Brew MP Widgets Technology Guide: Creating a Widgets application
·                  See Brew MP API Reference

Base version:
Brew MP 1.0
Tested version:
Brew MP 1.0
Phone tested:
No

 

Date : 2009-01-08 Size : 429.52kb User : bluecrest

DL : 0
以栈结构实现的多级菜单-to stack structure of the multi-level menu
Date : 2025-07-12 Size : 1.12mb User : 范国腾

DL : 0
javaScript实现的软键盘,希望大家交流下载-Windows to achieve the soft keyboard, we hope that the exchange Download
Date : 2025-07-12 Size : 6kb User : 杨一

屏幕软键盘,可通过软键盘向其他程序中输入字符-Screen soft keyboard, by soft keyboard to enter characters other procedures
Date : 2025-07-12 Size : 3.31mb User : tjcnc

自己写的域天加密狗VB使用小例子,32位的加密狗快速开发源代码-Write your own domain days dongle VB use a small example, 32 dongle rapid development of source code
Date : 2025-07-12 Size : 10kb User : yuanchao

软键盘,很方便的,界面比较优美,有点类似-softkey
Date : 2025-07-12 Size : 528kb User : 王一超

DL : 0
用brew 实现的stopwatch功能。用softkey控制时间的开始和停止。也实现了lap功能-Achieved with stopwatch function brew. Softkey control with start and stop time. Also achieved a lap function
Date : 2025-07-12 Size : 374kb User :

minigui的文档以及源代码和相关网页,有利于基于minigui的软键盘开发-minigui documents as well as the source code and related web pages, in favor of the soft keyboard based on the development of minigui
Date : 2025-07-12 Size : 212kb User : 高飞

DL : 0
js软件盘功能很好 为输入密码时安全 调用JS软件盘-js software feature set to enter a password when a good security software called Disk JS
Date : 2025-07-12 Size : 6kb User : 周周

此C + +的代码示例演示如何列出在特定目录中的文件。它有助于开发人员创建用户友好的应用程序,允许用户选择一个特定的文件类型列表文件。中东软键标签支持(在S60的推出第三版功能包2)。更新后的版本已经过测试,支持S60第五版界面和触摸。 -This C++ code example demonstrates how to list files in a specific directory. It helps developers in creating user-friendly applications that allow users to choose files from a list of specific file types. Middle softkey labelling is supported (introduced in S60 3rd Edition, Feature Pack 2). The updated version has been tested to support S60 5th Edition and touch UI.
Date : 2025-07-12 Size : 90kb User : flora

Softkey_Widget BREW 培训内部资料,供BREW/BMP开发初学或高手使用-Softkey_Widget
Date : 2025-07-12 Size : 485kb User : kaka

实现软件键盘的关键代码,非常有用-Keyboard key codes for software, very useful ....
Date : 2025-07-12 Size : 2kb User : 黄一

Util for Windows Mobile: automatic press softkey for enable start exe/dll dialog
Date : 2025-07-12 Size : 3kb User : Ser Ho

DL : 0
android软键盘的弹出和禁止(由于界面渲染需要一定的时间,所以不能把“键盘自动弹出”代码写在OnCreat里; 需要监听或者定时器Timer)-android softKey
Date : 2025-07-12 Size : 1kb User : baojiarui

Source code J2ME Full canvas,title softkey command bg transparent image over canvas.
Date : 2025-07-12 Size : 3kb User : naren

DL : 0
MFC实现高资料软键盘代码,已应用在商业化游戏平台中-softkey mfc code
Date : 2025-07-12 Size : 34kb User : 使得非宁静

SoftKey Solutions SENTINEL Emulator 2007 *FIXED*(SoftKey Solutions SENTINEL Emulator 2007 *FIXED* WIN7 X32)
Date : 2025-07-12 Size : 591kb User : hl82_good

DL : 1
SoftKey Solutions HASP/Hardlock Emulator 2007
Date : 2025-07-12 Size : 479kb User : koala413
« 12 »
CodeBus is one of the largest source code repositories on the Internet!
Contact us :
1999-2046 CodeBus All Rights Reserved.