11.18. How can I copy files to the device currently connected to desktop ActiveSync?
Download CECopy from Windows Mobile Developer Power Toys:
11.19. Why does the Visual Studio debugger fail to connect to an ARMV4I device?
Cause
Bug in the connection tool after selecting ARMV4I CPU type
Resolution
Configure tool for ARMV4T CPU type:
In Visual Studio, on the Tools menu, click "Select Windows CE Device CPU". Note: this menu item is installed by the Windows CE Utilities for Visual Studio .NET 2003 Add-on Pack
Change the device architecture to ARMV4T
Click Configure, then click Close. Restart Visual Studio if prompted
12. Smartphone
12.1. Where can I get the latest Smartphone SDK?
Download the Windows Mobile 2003 Smartphone SDK here:
12.2. What are the rules for smartphone menus?
Smartphone menus have several rules, such as:
the first menu item (corresponding to the left soft button) cannot have any sub items
the second menu item (corresponding to the right soft button) can have sub items
any other top level menu items are not used If the first menu item has more than 1 item, you will get a NotSupportedException.
For a complete list of requirements, refer to the Smartphone help documentation:
ms-help://MS.VSCC.2003/MS.Smartphone2003Help.1033/dv_smartphone/html/spconUsingMenus.htm
The preceding link is referenced from the Windows Mobile 2003 Smartphone SDK:
12.3. Why are there disabled controls in the toolbox when creating a Smartphone project?
The smartphone platform only supports a small set of controls. The controls that are not supported are disabled.
For more information, refer to the following Smartphone help documentation:
ms-help://MS.VSCC.2003/MS.Smartphone2003Help.1033/dv_smartphone/html/spconWindowsFormsSupport.htm
The preceding link is referenced from the Windows Mobile 2003 Smartphone SDK:
12.4. Does Smartphone support RAM installs of the .NET Compact Framework?
No. The .NET Compact Framework is serviced through operating system updates at the carrier's / OEM's discretion. Therefore, .NET Compact Framework will generally drop as part of larger Windows Mobile for Smartphone operating system updates.
12.5. How do I set the title of a fullscreen multiline edit control window?
This is not supported by the current version of the .NET Compact Framework.
12.6. How can I generate Smartphone CABWizSP XML docs from existing Pocket PC CAB files?
Download Convert PPC DAT to SP XML from Windows Mobile Developer Power Toys:
12.7. How can I send characters and strings to the Smartphone 2003 Emulator via ActiveSync?
Download TypeIt from Windows Mobile Developer Power Toys:
12.8. How do I programmatically set the Smartphone input mode?
The input mode can be set using GetFocus and SendMessage APIs according to the code below:
'VB
Imports System.Runtime.InteropServices
Public Const EM_SETINPUTMODE As Integer = &HDE
Public Const EIM_SPELL As Integer = 0
Public Const EIM_AMBIG As Integer = 1
Public Const EIM_NUMBERS As Integer = 2
<DllImport("coredll.dll")> _
Public Shared Function GetFocus() As IntPtr
End Function
<DllImport("coredll.dll")> _
Public Shared Function SendMessage(ByVal hWnd As IntPtr, _
ByVal Message As Integer, ByVal wParam As Integer, _
ByVal lParam As Integer) As Integer
End Function
'Sample use setting TextBox to number input
Private Sub txtAmount_GotFocus(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles txtAmount.GotFocus
Dim hWnd As IntPtr
hWnd = Me.GetFocus()
SendMessage(hWnd, EM_SETINPUTMODE, 0, EIM_NUMBERS)
txtAmount.SelectionStart = txtAmount.Text.Length
End Sub
//C#
using System.Runtime.InteropServices;
public const uint EM_SETINPUTMODE = 0xDE;
public const uint EIM_SPELL = 0;
public const uint EIM_AMBIG = 1;
public const uint EIM_NUMBERS = 2;
[DllImport("coredll.dll")]
public static extern IntPtr GetFocus();
[DllImport("coredll.dll")]
public static extern int SendMessage(IntPtr hWnd,
uint Message, uint wParam, uint lParam);
// Sample use setting TextBox to number input
private void Form1_Load(object sender, System.EventArgs e)
{
txtAmount.GotFocus +=
new System.EventHandler(txtAmount_GotFocus);
}
private void txtAmount_GotFocus(object sender, System.EventArgs e)
{
IntPtr hWnd;
hWnd = GetFocus();
SendMessage(hWnd, EM_SETINPUTMODE, 0, EIM_NUMBERS);
txtAmount.SelectionStart = txtAmount.Text.Length;
}