c# wpf document viewer pdf : Convert few pages of pdf to word application software cloud html winforms wpf class AN38882-part182

Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
Freescale Semiconductor
21
GUI Applications
switch (_listbox.SelectedIndex) {
case 0: {createShape(shapeTypes.rectangle,150,10,140,220); break; }
case 1: {createShape(shapeTypes.circle,150,10,140,220); break; }
case 2: {createShape(shapeTypes.ellipse,150,10,140,220); break;}
case 3: {createShape(shapeTypes.line,150,10,140,220); break; }
}
}
}
In the state machine, each state is divided into three parts. The first part is the process to execute 
in the state, the second is the update of the hint message, and the third is the update of the states. 
The states change the actual state to idle, and the next state to the next decision state after an event 
occurs (key pressed). The stateMachine method looks like this:
private void stateMachine() {
while(true) switch (_state.actual) {
case statesMain.idle: break;
case statesMain.initialState: {
_panel = new StackPanel();
_panel.Height = _mainWindow.ActualHeight;
_panel.Width= _mainWindow.ActualWidth;
Text textTitle = new Text();
textTitle.Font = Resources.GetFont(Resources.FontResources.small);
textTitle.TextContent = "GUI Standard Interface";
textTitle.HorizontalAlignment =
Microsoft.SPOT.Presentation.HorizontalAlignment.Center;
textTitle.ForeColor =
(Microsoft.SPOT.Presentation.Media.Color)0xFF0000;
_hint = new Text();
_hint.Font = Resources.GetFont(Resources.FontResources.small);
_hint.TextContent = "Actual State: Initial State";
_hint.HorizontalAlignment =
Microsoft.SPOT.Presentation.HorizontalAlignment.Left;
_hint.ForeColor =
(Microsoft.SPOT.Presentation.Media.Color)0x000000;
_canvas = new Canvas();
_canvas.Height = _panel.Height - 30;
_panel.Children.Add(textTitle);
_panel.Children.Add(_canvas);
_panel.Children.Add(_hint);
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
new UpdateScreenDelegate(UpdateScreen),
new object[] { new Panel(), true });
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
new UpdateScreenDelegate(UpdateScreen),
new object[] { _panel, true });
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.drawImage;
break; }
case statesMain.drawImage: {
Image image = new
Image(Resources.GetBitmap(Resources.BitmapResources.logo));
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
Convert few pages of pdf to word - application software cloud:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
www.rasteredge.com
Convert few pages of pdf to word - application software cloud:VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
www.rasteredge.com
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
22
Freescale Semiconductor
GUI Applications
new AddCanvasChildDelegate(AddCanvasChild),
new object[] { image, 40, 10, false });
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
new UpdateHintDelegate(UpdateHint),
new object[] { "Actual State: Draw Image" });
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.drawListBox;
break; }
case statesMain.drawListBox: {
_listbox = createListbox();
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
new AddCanvasChildDelegate(AddCanvasChild),
new object[] { _listbox, 40, 60, true });
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
new UpdateHintDelegate(UpdateHint),
new object[] { "Actual State: Draw List Box" });
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.end;
break; }
case statesMain.end: {
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
new UpdateHintDelegate(UpdateHint),
new object[] { "Actual State: Done!" });
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.initialState;
break; }
default: break;
}
}
The additional methods look like this:
private ListBox createListbox() {
ListBox listbox = new ListBox();
listbox.Child.Height = 100;
listbox.Child.Width = 170;
((Control)listbox.Child).Background = new LinearGradientBrush
(Colors.White, Colors.Blue, 0, 0, listbox.Child.Height, 1);
// Create TextListBoxItems
Font font = Resources.GetFont(Resources.FontResources.small);
TextListBoxItem drawRectangleLbi = new TextListBoxItem("Draw Rectangle", font);
TextListBoxItem drawCircleLbi = new TextListBoxItem("Draw Circle", font);
TextListBoxItem drawEllipseLbi = new TextListBoxItem("Draw Ellipse", font);
TextListBoxItem drawLineLbi = new TextListBoxItem("Draw Line", font);
// Add TextListBoxItems to listbox
listbox.Items.Add(drawRectangleLbi);
listbox.Items.Add(drawCircleLbi);
listbox.Items.Add(drawEllipseLbi);
listbox.Items.Add(drawLineLbi);
listbox.SelectedItem = drawRectangleLbi;
return listbox;
application software cloud:C# TIFF: Extract Page(s) from TIFF File(s) Using C#.NET Code
Sometimes, a Tiff image file is large in size and only a few pages of Tiff document are useful to us, so we need to extract these useful pages from Tiff file.
www.rasteredge.com
application software cloud:C# PDF Page Insert Library: insert pages into PDF file in C#.net
application and Windows Forms project using a few lines of and inserting (empty) PDF page or pages from various file formats, such as PDF, Tiff, Word
www.rasteredge.com
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
Freescale Semiconductor
23
GUI Applications
}
private void UpdateScreen(UIElement newValue, bool setFocus) {
_mainWindow.Child = newValue;
if (setFocus) Buttons.Focus(newValue);
}
private void AddCanvasChild(UIElement newValue, int top, int left, bool setFocus) {
Canvas.SetTop(newValue, top);
Canvas.SetLeft(newValue, left);
if (setFocus) Buttons.Focus(newValue);
_canvas.Children.Add(newValue);
}
private void UpdateHint(String text) {
if (_hint != null) _hint.TextContent = text;
}
private void createShape(shapeTypes shapeType, int top, int left, int maxHeight, int 
maxWidth) {
// Get random numbers
int topRelaive = Microsoft.SPOT.Math.Random(maxHeight);
int leftRelaive = Microsoft.SPOT.Math.Random(maxWidth);
int topPos = topRelaive + top;
int leftPos = leftRelaive + left;
maxHeight -= topRelaive;
maxWidth -= leftRelaive;
if (maxHeight < 2) maxHeight = 2;
if (maxWidth < 2) maxWidth = 2;
Color color = (Color)Microsoft.SPOT.Math.Random(0xFFFFFF);
int maxRadius = 0;
if (maxWidth < maxHeight) maxRadius = maxWidth/2;
else maxRadius = maxHeight / 2;
Shape shape = null;
switch (shapeType) {
case shapeTypes.rectangle:
shape = new Rectangle();
shape.Width = Microsoft.SPOT.Math.Random(maxWidth);
shape.Height = Microsoft.SPOT.Math.Random(maxHeight);
shape.Stroke = new Pen(color);
// Note: The .NET Micro Framework SDK does not support a non-filled rectangle at this time
//** Fill the rectangle with the same color as the pen stroke
shape.Fill = new SolidColorBrush(color);
break;
case shapeTypes.circle:
int radius = Microsoft.SPOT.Math.Random(maxRadius);
shape = new Ellipse(radius, radius);
shape.Stroke = new Pen(color);
break;
case shapeTypes.ellipse:
int xRadius = Microsoft.SPOT.Math.Random(maxWidth/2);
int yRadius = Microsoft.SPOT.Math.Random(maxHeight/2);
shape = new Ellipse(xRadius, yRadius);
shape.Stroke = new Pen(color);
break;
case shapeTypes.line:
int xDis = Microsoft.SPOT.Math.Random(maxRadius);
int yDis = Microsoft.SPOT.Math.Random(maxRadius);
shape = new Line(xDis, yDis);
shape.Stroke = new Pen(color);
break;
application software cloud:C# Word - Insert Blank Word Page in C#.NET
server-side application and Windows Forms project using a few lines of delete Word page using C# .NET, how to reorganize Word document pages and how
www.rasteredge.com
application software cloud:C# PDF File Split Library: Split, seperate PDF into multiple files
files with a customized name pattern using a few lines of using which C# developers can split target PDF document file by specifying a page or pages.
www.rasteredge.com
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
24
Freescale Semiconductor
GUI Applications
default: break;
}
if (shape != null)
_mainWindow.Dispatcher.Invoke(
new TimeSpan(0, 0, 1),
new AddCanvasChildDelegate(AddCanvasChild),
new object[] { shape, topPos, leftPos, false });
}
For this example, a class is created for a specific functionality for the list box items, as follows:
class TextListBoxItem : ListBoxItem {
public TextListBoxItem(string str, Font font) : base() {
Text text = new Text(font, str);
text.HorizontalAlignment = HorizontalAlignment.Center;
this.Child = text;
this.Background = null; // Set the background to transparent
}
protected override void OnIsSelectedChanged(bool isSelected) {
Text text = this.Child as Text;
if (isSelected) {
text.ForeColor = Colors.Blue;
this.Background = new SolidColorBrush(Colors.Gray);
} else {
text.ForeColor = Colors.Black;
this.Background = null;
}
}
}
5.3
Use the Screen as a Bitmap
To use the screen as a bitmap: create the bitmap, update the pixels in the bitmap, and place the bitmap in 
the screen.
5.3.1
Bitmap Class
The Bitmap class encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and 
its attributes. A Bitmap is an object used to work with images defined by pixel data. The Bitmap class 
provides a complete set of methods that allows drawing text, lines, circles, ellipses, and rectangles in the 
bitmap, merging other bitmaps, and modifying the bitmap by pixel. The Flush method of the Bitmap class 
places the bitmap in the screen. Table2 describes the common methods for drawing within the bitmap.
Table 2. Bitmap Drawing Methods
Method
Description
Clear
Clears the entire drawing surface
DrawEllipse
Draws a filled ellipse on the display device
DrawImage
Draws a rectangular block of pixels on the display device
DrawLine
Draws a line on the display device
DrawRectangel
Draws a rectangle on the display device
application software cloud:VB.NET Word: Change Word Page Order & Sort Word Document Pages
paste method if there are a few pages that need Apart from this VB.NET Word pages sorting function powerful & profession imaging controls, PDF document, image
www.rasteredge.com
application software cloud:C# TIFF: How to Convert TIFF File to PDF Document in C# Project
Convert TIFF to PDF in C#.NET Overview. document using C# demo code within just a few seconds. Documents, forms, graphics and web pages can be converted to PDF
www.rasteredge.com
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
Freescale Semiconductor
25
GUI Applications
5.3.2
Example: Graphical User Interface
This example shows how to develop the architecture of an application using .Net Micro Framework with 
a Bitmap as the screen. This example uses the convention of the underscore character (_) to indicate global 
private variables.
To perform this example, use these steps:
1. Add a reference to the namespaces where the classes to use are located:
using System.Threading;
using Microsoft.SPOT.Presentation.Media;
2. Define the objects to be used in this example:
private Window _mainWindow; 
// main window element
private Bitmap _screen; 
// bitmap used for flush
private Bitmap _back; 
// based bitmap to be updated
private Thread _stateT; 
// thread of the state machine
/* States of the main state machine */
private enum statesMain {idle,initialState,drawBackground,drawButtons,end,undefined, }
/* State machine control variable */
private struct stateType {
public statesMain actual;
public statesMain prior;
public statesMain next;
}
private stateType _state;
/* Definition of the buttons */
private enum buttonNames {first, button1, button2, none, }
/* Buttons control variable */
private struct buttonStates {
public buttonNames pressed; /* Button pressed */
public buttonNames selected; /* Button selected */
public buttonNames prior; /* Last button pressed */
}
private buttonStates _button;
3. Initialize and configure the objects. In this example the initialization is done through the 
CreateWindow and the stateScreen with the state of initialState. After the changes the 
CreateWindow method looks like this:
public Window CreateWindow() {
_mainWindow = new Window();
_mainWindow.Height = SystemMetrics.ScreenHeight;
_mainWindow.Width = SystemMetrics.ScreenWidth;
Text text = new Text();
DrawText
Draws text on the display device
DrawTextInRect
Draws text in a specified rectangle
Flush
Flushes the current bitmap to the display device
SexPixel
Turns a specified pixel on or off
Table 2. Bitmap Drawing Methods (continued)
Method
Description
application software cloud:VB.NET Create PDF Library SDK to convert PDF from other file
Best VB.NET component to convert Microsoft Office Word, Excel applications to create PDF with just a few VB.NET to create a PDF document with 2 empty pages.
www.rasteredge.com
application software cloud:C# Word - Split Word Document in C#.NET
files with a customized name pattern using a few lines of using which C# developers can split target Word document file by specifying a page or pages.
www.rasteredge.com
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
26
Freescale Semiconductor
GUI Applications
text.Font = Resources.GetFont(Resources.FontResources.small);
text.TextContent = Resources.GetString(Resources.StringResources.String1);
text.HorizontalAlignment=Microsoft.SPOT.Presentation.HorizontalAlignment.Center;
text.VerticalAlignment = Microsoft.SPOT.Presentation.VerticalAlignment.Center;
_mainWindow.Child = text;
_mainWindow.AddHandler(Buttons.ButtonUpEvent,
new ButtonEventHandler(OnButtonUp), false);
_mainWindow.Visibility = Visibility.Visible;
Buttons.Focus(_mainWindow);
/* Initializing the states */
_state = new stateType();
_state.prior = statesMain.undefined;
_state.actual = statesMain.idle;
_state.next = statesMain.initialState;
/* Initializing the button state */
_button = new buttonStates();
/* Creating and running the thread for the state machine */
_stateT = new Thread(new ThreadStart(stateScreen));
_stateT.Start();
return _mainWindow;
}
4. Use the objects. The objects are used when a key is pressed and in the state machine function. 
With our changes, the OnButtonUp method looks like this:
private void OnButtonUp(object sender, ButtonEventArgs e) {
// Print the button code to the Visual Studio output window.
Debug.Print(e.Button.ToString());
if (e.Button == Button.Right) {
/* Update the states after right button is pressed */
_state.prior = _state.actual;
_state.actual = _state.next;
_state.next = statesMain.undefined;
}
switch (_state.prior) {
case statesMain.drawButtons : {
/* In case of the state "drawButtons" the button select is changed
* when up or down button is pressed, and the change of states
* update the screen */
if (e.Button == Button.Select) {
_button.prior = _button.pressed;
_button.pressed = _button.selected;
} else {
if (e.Button == Button.Up) _button.selected--;
else if (e.Button == Button.Down) _button.selected++;
if (_button.selected == buttonNames.none)
_button.selected = buttonNames.first + 1;
else if (_button.selected == buttonNames.first)
_button.selected = buttonNames.none - 1;
}
_state.prior = _state.actual;
_state.actual = statesMain.drawButtons;
_state.next = statesMain.undefined;
break;
}
}
}
application software cloud:C# Word - Process Word Document in C#
It enables you to move out useless Word document pages simply with a few lines of C# code. C#.NET: Sort Word Document Pages Order.
www.rasteredge.com
application software cloud:Online Convert PDF file to Word. Best free online PDF Conversion
make it as easy as possible to convert your Tiff settings and the conversion only takes a few seconds. Tiff image with single page or multiple pages is supported
www.rasteredge.com
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
Freescale Semiconductor
27
GUI Applications
In the state machine, each state is divided into three parts. The first part is the process to execute in the 
state; the second is the update of the hint message, and the third is the update of the states. The states 
change the actual state to idle, and then change the next state to the next decision state, after an event occurs 
(key pressed). The state machine stateScreen  method looks like this:
private void stateScreen() {
Font font = Resources.GetFont(Resources.FontResources.small);
while (true) switch (_state.actual) {
case statesMain.idle: break;
case statesMain.initialState: {
_button.prior = buttonNames.none;
_button.selected = buttonNames.none;
_button.pressed = buttonNames.none;
_back = new Bitmap(240, 320);
_back.DrawRectangle(Color.White, 10, 0, 0, 240, 320, 2, 2, 
Color.White, 0, 0, Color.White, 240, 320, 0);
_screen = new Bitmap(240, 320);
_screen.DrawImage(0,0,_back,0,0,240,320);
_screen.Flush();
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.drawBackground;
break; }
case statesMain.drawBackground: {
_back.DrawImage(35, 10,
Resources.GetBitmap
(Resources.BitmapResources.freescale), 0, 0, 170, 57);
_back.DrawRectangle(Color.White, 1, 35, 10, 170, 57, 2, 2, 
Color.White, 0, 0, Color.White, 240, 320, 0);
_screen.DrawImage(0, 0, _back, 0, 0, 240, 320);
_screen.DrawTextInRect("State: Background", 10, 300, 220, 20, 
Bitmap.DT_AlignmentCenter | 
Bitmap.DT_TrimmingCharacterEllipsis, (Color)0xFFFFFF, font);
_screen.Flush();
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.drawButtons;
break; }
case statesMain.drawButtons: {
if (_button.selected == buttonNames.none)
_button.selected = buttonNames.first + 1;
_screen.DrawImage(0, 0, _back, 0, 0, 240, 320);
String hint = "State: Buttons";
if (_button.pressed != buttonNames.none) {
if (_button.pressed == buttonNames.button1)
hint += " : Button 1 pressed";
else if (_button.pressed == buttonNames.button2)
hint += " : Button 2 pressed";
}
_screen.DrawTextInRect(hint, 10, 300, 220, 20,
Bitmap.DT_AlignmentCenter |
Bitmap.DT_TrimmingCharacterEllipsis,(Color)0xFFFFFF, font);
_screen.DrawTextInRect("Button 1", 10, 100, 220, 20,
Bitmap.DT_AlignmentCenter |
Bitmap.DT_TrimmingCharacterEllipsis,(Color)0x0000FF, font);
_screen.DrawTextInRect("Button 2", 10, 200, 220, 20,
Bitmap.DT_AlignmentCenter |
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
28
Freescale Semiconductor
SideShow Applications
Bitmap.DT_TrimmingCharacterEllipsis,(Color)0x0000FF, font);
if (_button.selected == buttonNames.button1)
_screen.DrawEllipse((Color)0xFFFFFF, 120, 107, 110, 10);
else if (_button.selected == buttonNames.button2)
_screen.DrawEllipse((Color)0xFFFFFF, 120, 207, 110, 10);
_screen.Flush();
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.end;
break; }
case statesMain.end: {
_screen.DrawImage(0, 0, _back, 0, 0, 240, 320);
_screen.DrawTextInRect("State: End", 10, 300, 220, 20,
Bitmap.DT_AlignmentCenter |
Bitmap.DT_TrimmingCharacterEllipsis,(Color)0xFFFFFF, font);
_screen.Flush();
_state.prior = _state.actual;
_state.actual = statesMain.idle;
_state.next = statesMain.initialState;
break; }
default: break;
}
}
6
SideShow Applications
Windows SideShow is a technology that enables a Windows PC to drive a variety of auxiliary display 
devices connected to the main PC. These devices can be separate from or integrated into the main PC (for 
example, a display embedded on the outside of a laptop lid), enabling access to information and media 
even when the PC is (mostly) turned off. SideShow can also drive the display of PC data on mobile phones 
and other devices that are connected by Bluetooth or other wireless network protocols.
6.1
SideShow Enhanced Display Types
Two types of applications can be loaded into the SideShow enhanced display devices:
• XML applications can be downloaded from the Internet and installed and uninstalled in the device 
using the SideShow portal in the connected a Windows Vista® PC
• Built-in applications are libraries developed over .Net Micro Framework that can be added to the 
SideShow device for specific functionality in the device
6.2
Example: SideShow Applications
This section provides an example for creating device-specific, built-in SideShow applications using .Net 
Micro Framework. Because .Net Micro Framework can run only one application at a time, SideShow is 
the application that runs and the SideShow applications must be created and added as .Net Micro 
Framework libraries (dlls).
Two main components are required in the SideShow applications:
• DLL component that must be compliant with the interface IDeviceApplication
• Main form executable that must be inherited from the 
ApplicationForm
class
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
Freescale Semiconductor
29
SideShow Applications
The SideShow Application libraries must respect the following structure:
//-----------------------------------------------------------------------------------------
// SideShow application
// An application must implement the IDeviceApplication interface. The Shell uses this
// interface to control the application.
//-----------------------------------------------------------------------------------------
public class SideshowExample : IDeviceApplication
{
public SideshowExample()
{
Debug.Print("Sideshow Example Application, DLL Contructor");
}
//-------------------------------------------------------------------------------------------
// Built-in order number
// This static property identifies this class as a built-in (stand-alone) application. The Shell
// locates built-in applications by using reflection to find all classes that declare this
// property. The Shell creates an instance of each built-in application at system startup time.
//
// The Shell orders the built-in applications according to their order numbers (smallest first).
// The built-in applications are displayed behind the PC gadget endpoint applications.
//------------------------------------------------------------------------------------------
public static int BuiltInOrder
{
get { return 50; }
}
//
// IDeviceApplication methods
//
//------------------------------------------------------------------------------------------
// Install
// The Shell calls this method right after creating an instance of the application. A built-in
// application does not receive data from a PC gadget, so the cache argument is always null.
//
// The application can do any one-time initialization in this method.
//-------------------------------------------------------------------------------------------
public void Install(IApplicationCache cache)
{
Debug.Print("Sideshow Example Application, DLL Installed");
}
//-------------------------------------------------------------------------------------------
// Uninstall
// This method is never called for built-in applications because they are never unistalled.
//-------------------------------------------------------------------------------------------
public void Uninstall()
{
}
//-------------------------------------------------------------------------------------------
// Set Shell attributes
// The Shell calls this method to get the application name and icons that will be displayes on
// the home page. The method returns these in the attribute class that is passed in. The icons
// should be 32-bit color icons with alpha channel. Each icon resource is a byte array which
// contains a .bmp file image. The icons are returned as byte arrays rather than Bitmap class
// instances, so that the Shell can access the raw pixel data.
//-------------------------------------------------------------------------------------------
public void SetShellAttributes(ShellAttributes attributes)
{
Advanced Development with Microsoft
®
.NET Micro Framework 2.0, Rev. 0
30
Freescale Semiconductor
SideShow Applications
attributes.Name = "Hello World App";
attributes.Icon16Data=Resources.GetBytes(Resources.BinaryResources.ICON_16);
attributes.Icon32Data=Resources.GetBytes(Resources.BinaryResources.ICON_32);
attributes.Icon48Data=Resources.GetBytes(Resources.BinaryResources.ICON_48);
}
//
// Member variable to hold the applicaiton form
//
private HelloWorldForm _form;
//-------------------------------------------------------------------------------------------
// Get form
// The Shell calls this method to get the application main window when the user selects this
// application on the Shell home page. An application typically caches the form and returns the
// same one every time.
//-------------------------------------------------------------------------------------------
public ApplicationForm GetForm()
{
if (_form == null)
{
_form = new HelloWorldForm();
}
return _form;
}
//-------------------------------------------------------------------------------------------
// Get Glance Data
// The Shell calls this method when the application is highlighted on the Shell home page. The
// method optionally returns one or more lines of text that give a high-level status for the
// application. For example, a calendar application may return the time and place of the next
// appointment as the Primary status and later appointments this day as secondary status. Note
// that the seconday status is an array of strings. A typical device can display up to 15 lines
// of status.
//
// For built-in applications that don't have status to display, the primary glance data can be a
// short description of what the application does.
//
// The Shell calls GetGlanceData when the application gets the focus on the home page or when it
// is told that the glance data has changed. The application must call
// Globals.Shell.UpdateGlanceData(this) to notify the Shell when the glance data has changed.
//-------------------------------------------------------------------------------------------
public GlanceData GetGlanceData()
{
GlanceData glance = new GlanceData();
glance.Primary = "(great example!!!)";
return glance;
}
}
The SideShow main form must respect the following structure:
//--------------------------------------------------------------------------------
// HelloWorldForm
// This is the main window of the application. It must be derived from base class
// ApplicationForm. ApplicationForm defines virtual methods for interacting with
// the SideShow Shell and provides a default implementation for each method.
//---------------------------------------------------------------------------------
private class HelloWorldForm : ApplicationForm
{
//---------------------------------------------------------------------------
Documents you may be interested
Documents you may be interested