Teclado en Pocket PC

04/07/2008 - 17:26 por Henry de Sousa | Informe spam
Hola amigos.

Bueno les cuento que estoy desarrollando una aplicación para Pocket PC con
VS2008 y c#.
Ya la tengo casi lista, aunque necesito lograr algo que he visto en otras
aplicaciones, a ciencia cierta no sé como hacerlo.

Digamos que tengo un formulario, en él hay algunas cajas de texto, cuando me
paro en una caja de texto para escribir sobre
ella tengo que darle un click -o un tap creo se dice en las PPC- sobre el
keyboard o teclado de la PPC para poder comenzar
a escribir sobre la caja de texto, yo he visto que en algunas aplicaciones
que vienen ya preinstaladas en la PPC, al colocarme
sobre una caja de texto automáticamente aparece en pantalla el teclado para
poder comenzar a escribir, es decir no tengo necesidad
de darle un click al teclado con el stylus para que aparezca sino que el
teclado aparece y desaparece automáticamente cuando
estoy o no sobre una caja de texto.

Me gustaría lograr esta característica para la aplicación pero la verdad no
he encontrado mucho en internet.

Espero que me haya explicado bien.

Saludos amigos...

Preguntas similare

Leer las respuestas

#1 Fernando Gómez
04/07/2008 - 23:56 | Informe spam
Henry de Sousa wrote:
Hola amigos.

Bueno les cuento que estoy desarrollando una aplicación para Pocket PC con
VS2008 y c#.
Ya la tengo casi lista, aunque necesito lograr algo que he visto en otras
aplicaciones, a ciencia cierta no sé como hacerlo.

Digamos que tengo un formulario, en él hay algunas cajas de texto, cuando me
paro en una caja de texto para escribir sobre
ella tengo que darle un click -o un tap creo se dice en las PPC- sobre el
keyboard o teclado de la PPC para poder comenzar
a escribir sobre la caja de texto, yo he visto que en algunas aplicaciones
que vienen ya preinstaladas en la PPC, al colocarme
sobre una caja de texto automáticamente aparece en pantalla el teclado para
poder comenzar a escribir, es decir no tengo necesidad
de darle un click al teclado con el stylus para que aparezca sino que el
teclado aparece y desaparece automáticamente cuando
estoy o no sobre una caja de texto.

Me gustaría lograr esta característica para la aplicación pero la verdad no
he encontrado mucho en internet.

Espero que me haya explicado bien.

Saludos amigos...



Hola,

el API de Windows CE (desde la versión 3.0, me parece) ofrece una
función llamada SipShowIM cuyos parámetros son SIPF_OFF, SIPF_ON,
SIPF_DOCKED, SIPF_LOCKED (banderas equivalentes a 0x0, 0x1, 0x02 y 0x4).
Lo que yo hago en C (C++ en realidad, gracias al ABI que tiene con C) es
capturar el mensaje WM_SETFOCUS y mandar llamar a esta función SipShowIM.

En fin, C# también ofrece un ABI con C, así que deberías poder mandar
llamar esta función sin problemas. Me imagino que sería algo como:

class SipKeyboard
{
public static const ulong SIPF_OFF = 0;
public static const ulong SIPF_ON = 1;
public static const ulong SIPF_DOCKED = 2;
public static const ulong SIPF_LOCKED = 4;

[DllImport("Coresip.dll", CharSet = CharSet.Auto)]
public static extern int SipShowIM(ulong dwFlags);
}

Y luego la podrías emplear como:

SipKeyboard.SipShowIM(SipKeyboard.SIPF_ON | SipKeyboard.SIPF_DOCKED);

etcétera.

Más información sobre SipShowIM aquí:
http://msdn.microsoft.com/en-us/lib...41818.aspx

Saludos.
Respuesta Responder a este mensaje
#2 Fernando Gómez
05/07/2008 - 00:00 | Informe spam
Henry de Sousa wrote:
Hola amigos.

Bueno les cuento que estoy desarrollando una aplicación para Pocket PC con
VS2008 y c#.
Ya la tengo casi lista, aunque necesito lograr algo que he visto en otras
aplicaciones, a ciencia cierta no sé como hacerlo.

Digamos que tengo un formulario, en él hay algunas cajas de texto, cuando me
paro en una caja de texto para escribir sobre
ella tengo que darle un click -o un tap creo se dice en las PPC- sobre el
keyboard o teclado de la PPC para poder comenzar
a escribir sobre la caja de texto, yo he visto que en algunas aplicaciones
que vienen ya preinstaladas en la PPC, al colocarme
sobre una caja de texto automáticamente aparece en pantalla el teclado para
poder comenzar a escribir, es decir no tengo necesidad
de darle un click al teclado con el stylus para que aparezca sino que el
teclado aparece y desaparece automáticamente cuando
estoy o no sobre una caja de texto.

Me gustaría lograr esta característica para la aplicación pero la verdad no
he encontrado mucho en internet.

Espero que me haya explicado bien.

Saludos amigos...



Je, quizás este artículo te ayude un poco más:

http://msdn.microsoft.com/en-us/lib...46550.aspx

Por cierto parece que el nombre de la librería para el DllImport es
"coredll.dll", según este artículo.

Saludos.
Respuesta Responder a este mensaje
#3 Henry de Sousa
07/07/2008 - 16:03 | Informe spam
Hola amigo.
Gracias por la respuesta. En lo que tenga algo hecho te comento como me fue.

Saludos...
Respuesta Responder a este mensaje
#4 Henry de Sousa
07/07/2008 - 23:26 | Informe spam
Hola Fernando.

Listo, ya he logrado lo que buscaba.
Muchas gracias por la ayuda.

A continuación les dejo la clase para lograr esto.

[QUOTE]
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;


static class SipKeyboard
{
public const ulong SIPF_OFF = 0;
public const ulong SIPF_ON = 1;
public const ulong SIPF_DOCKED = 2;
public const ulong SIPF_LOCKED = 4;

[DllImport("coredll.dll", CharSet = CharSet.Auto)]
public static extern int SipShowIM(ulong dwFlags);
}
[QUOTE]

Parecida a como la colocó Fernando pero con pequeñas modificaciones, para
utilizarla solo tendrían que agregar una
clase al proyecto, copiar todo el código y pegarlo en su nueva clase. Luego
la podrían utilizar de la siguiente forma:

SipKeyboard.SipShowIM(SipKeyboard.SIPF_ON | SipKeyboard.SIPF_DOCKED);

tal como Fernando lo indicó arriba.

Eso sería todo.

Saludos...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida