2010-12-03 13 views
5

Puede ser que pueda obtener algunos puntos negativos sobre esta pregunta pero, realmente esta pregunta es asombrosa en mi mente de los últimos días que es el código básico/sin formato detrás de cuadro de texto (u otros controles) .¿Cuál es código sin formato de cuadro de texto

quiero decir que entiendo eso, podemos heredar la clase de cuadro de texto y hacer nuestros cambios, creamos su objeto y lo usamos.

pero quiere saber cómo esa clase crea un cuadro de texto (el diseño que nos permite ingresar texto) (la misma consulta para otros componentes), es un código de lenguaje 'C' que lo genera mediante CG (gráficos por computadora) programación o cualquier otra cosa.

Los expertos resuelven mi curiosidad.

Gracias

+1

Usted está preguntando acerca de WinForms en el escritorio de Windows, ¿verdad? Porque será diferente en WPF, diferente en Siverlight y obviamente diferente en ASP.Net. – MarkJ

Respuesta

7

Windows proporciona varias API básicas para dibujar en la pantalla. Puede dibujar píxeles, líneas, cuadros y formas geométricas más complejas. También hay API para dibujar texto. Otras API le permiten reaccionar ante la entrada del usuario, p. movimiento y clics del mouse y entrada de teclado.

A partir de estas API básicas, puede crear su propio cuadro de texto dibujando los píxeles exactos de cómo debería verse el cuadro de texto y reaccionar ante la entrada del usuario. Sin embargo, Windows tiene un concepto integrado de un cuadro de texto. Este cuadro de texto tiene una apariencia estándar y también está integrado con conceptos de interfaz de usuario como el enfoque, el orden de las pestañas, el portapapeles y el cursor. Pero detrás de las escenas, Windows está utilizando las funciones de bajo nivel de API para dibujar en la pantalla y reaccionar a la entrada del usuario.

Cuando crea un TextBox en Windows Forms, en realidad crea y ajusta un estándar de Windows Edit control. Este control se dibuja usando GDI. Sin embargo, otros modelos de programación como WPF pueden crear controles TextBox que se parecen a un cuadro de texto normal pero usan una implementación personalizada proporcionada por WPF y se dibuja con DirectX.

+0

gr8 información, gracias. –

3

Esto es lo que creo que está haciendo:

El código cruda detrás TextBox o cualquier otro Control utiliza Windows API que es responsable de dibujando estos controles y proporcionando Handles de estos controles para referencia futura.

Windows ha estado utilizando diferentes métodos para dibujar su interfaz de usuario como GDI, GDI+ y, a veces DirectX. Puedo estar equivocado y puede haber algunos otros técnicos que olvidé mencionar.

Estos controles usan de WinProc cada ventana para recibir Input Notification y otras devoluciones de llamada que notifican a estos controles cuando se hace clic, a máquina o, por ejemplo, cambiar de tamaño.

+0

gracias por la respuesta rápida, lo obtuve, ¿puede dar un buen enlace para esto? –

+0

Bueno, si no ha programado Windows en C/C++, no estará familiarizado con estas cosas. Eche un vistazo al siguiente enlace: http://pravin.insanitybegins.com/win32/ – decyclone

+0

gracias, he hecho algo de programación con C y C++ pero a nivel normal. así que con suerte podría entender. pero gracias a abrir algunas de las ventanas de mi mente. –

Cuestiones relacionadas