[C con Clase] Control EDIT
DAMP
damp29yw en gmail.com
Dom Ago 26 16:04:38 CEST 2007
Carlos muchas gracias peor no me funciono.
El día 25/08/07, Carlos Oyarzo <harry848 en hotmail.com> escribió:
>
> DAMP....
>
> prueba por esto:
>
> ---------------------------------------------------------------------------------------------------------------------------------------
>
> #include <windows.h>
>
> #include "IDS.h"
>
> /* Declaración del procedimiento de ventana */
> LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
> BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
>
>
> typedef struct stDatos {
> char Numero [100];
>
>
> } DATOS;
>
> int WINAPI WinMain (HINSTANCE hThisInstance,
> HINSTANCE hPrevInstance,
> LPSTR lpszArgument,
> int nFunsterStil)
> {
> HWND hwnd; /* Manipulador de ventana */
> MSG mensaje; /* Mensajes recibidos por la aplicación */
> WNDCLASSEX wincl; /* Estructura de datos para la clase de
> ventana
> */
>
> /* Estructura de la ventana */
> wincl.hInstance = hThisInstance;
> wincl.lpszClassName = "NUESTRA_CLASE";
> wincl.lpfnWndProc = WindowProcedure; /* Esta función es invocada
> por Windows */
> wincl.style = CS_DBLCLKS; /* Captura los doble-clicks
> */
> wincl.cbSize = sizeof (WNDCLASSEX);
>
> /* Usar icono y puntero por defector */
> wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
> wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
> wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
> wincl.lpszMenuName = MAKEINTRESOURCE(ID_menu);
> wincl.cbClsExtra = 0; /* Sin información adicional
> para la */
> wincl.cbWndExtra = 0; /* clase o la ventana */
> /* Usar el color de fondo por defecto para la ventana */
> wincl.hbrBackground = GetSysColorBrush(COLOR_BACKGROUND);
>
> /* Registrar la clase de ventana, si falla, salir del programa */
> if(!RegisterClassEx(&wincl)) return 0;
>
> /* La clase está registrada, crear la ventana */
> hwnd = CreateWindowEx(
> 0, /* Posibilidades de variación */
> "NUESTRA_CLASE", /* Nombre de la clase */
> TEXT("Sistemas Expertos"), /* Texto del título */
> WS_OVERLAPPEDWINDOW, /* Tipo por defecto */
> CW_USEDEFAULT, /* Windows decide la posición */
> CW_USEDEFAULT, /* donde se coloca la ventana */
> 544, /* Ancho */
> 375, /* Alto en pixels */
> HWND_DESKTOP, /* La ventana es hija del escritorio */
> NULL, /* Sin menú */
> hThisInstance, /* Manipulador de instancia */
> NULL /* No hay datos de creación de ventana */
> );
>
> /* Mostrar la ventana */
> ShowWindow(hwnd, SW_SHOWDEFAULT);
>
> /* Bucle de mensajes, se ejecuta hasta que haya error o GetMessage
> devuelva FALSE */
> while(TRUE == GetMessage(&mensaje, NULL, 0, 0))
> {
> /* Traducir mensajes de teclas virtuales a mensajes de caracteres
> */
> TranslateMessage(&mensaje);
> /* Enviar mensaje al procedimiento de ventana */
> DispatchMessage(&mensaje);
> }
>
> /* Salir con valor de retorno */
> return mensaje.wParam;
> }
>
>
> /* Esta función es invocada por la función DispatchMessage() */
> LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam,
> LPARAM
> lParam)
> {
> static HINSTANCE hInstance;
> static DATOS Datos;
>
> switch (msg) /* manipulador del mensaje */
> {
> case WM_CREATE:
> hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
> /* Inicialización de los datos de la aplicación */
> //strcpy(Datos.Texto, "Inicial");
> return 0;
> break;
>
> case WM_COMMAND:
> /*if(LOWORD(wParam) == CM_LEER)
> DialogBoxParam(hInstance, "", hwnd, DlgProc, (LPARAM)&Datos);
> else
> PostQuitMessage(0);
> break;*/
> switch(LOWORD(wParam)) {
> case CM_LEER:
> DialogBoxParam(hInstance, MAKEINTRESOURCE(ID_dlg1), hwnd,
> DlgProc, (LPARAM)&Datos);
> break;
> case CM_SALIR:
> PostQuitMessage(0);
> break;
> }
>
> case WM_DESTROY:
> PostQuitMessage(0); /* envía un mensaje WM_QUIT a la cola de
> mensajes */
> break;
> default: /* para los mensajes de los que no nos
> ocupamos */
> return DefWindowProc(hwnd, msg, wParam, lParam);
> }
> return 0;
> }
>
> BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
> {
> static DATOS *datos;
> float numero;
>
> switch (msg) /* manipulador del mensaje */
> {
> case WM_INITDIALOG:
> datos = (DATOS *)lParam;
> SetFocus(GetDlgItem(hDlg, ID_NUMERO));
> return TRUE;
> case WM_COMMAND:
> switch(LOWORD(wParam)) {
> case IDOK:
>
> GetWindowText(GetDlgItem(hDlg, ID_NUMERO),datos->Numero,
> 100);
> numero= atof(datos->Numero);
>
> if((numero<0.5f)&&(numero>0.1f))
> {
>
> MessageBox(hDlg,TEXT("funciona"),TEXT("sistemas
> expertos"),MB_OK );
> SetFocus(GetDlgItem(hDlg, ID_LISTA));
>
> }
> else
> {
> //PostQuitMessage(0);
> }
> break;
> case IDCANCEL:
> EndDialog(hDlg, FALSE);
> break;
> }
>
> return TRUE;
> }
> return FALSE;
> }
>
>
> -------------------------------------------------------------------------------------------------------------------------------
>
> Espero que te sirva. Cuenta si algo no te funcionó.
> Salu2.
>
>
>
>
>
>
>
> *****************************************************************************
>
>
> >From: DAMP <damp29yw en gmail.com>
> >Reply-To: Lista de correo sobre C y C++ <cconclase en listas.conclase.net>
> >To: "Lista de correo sobre C y C++" <cconclase en listas.conclase.net>
> >Subject: Re: [C con Clase] Control EDIT
> >Date: Fri, 24 Aug 2007 21:58:33 -0500
> >
> >Carlos muchas gracias, pero he hecho lo que me dijiste y no logro
> >sulucionar
> >el problema; te envio todo el codigo a ver en que me puedes colaborar.
> >gracias.
> >
> >Muchas gracias.
> >
> >
> >El día 24/08/07, Carlos Oyarzo <harry848 en hotmail.com> escribió:
> > >
> > > hola damp, por el poco codigo que envias, solo puedo
> > > decirte que quizas el error está en el if():
> > >
> > > if((numero<0,5)&&(numero>0,1))
> > >
> > > deberia ser if( (numero<0.5f) && (numero>0.1f) )
> > >
> > > Espero que te sirva
> > > Salu2
> > >
> > >
> > > >From: DAMP <damp29yw en gmail.com>
> > > >Reply-To: Lista de correo sobre C y C++ <
> cconclase en listas.conclase.net>
> > > >To: cconclase en listas.conclase.net
> > > >Subject: [C con Clase] Control EDIT
> > > >Date: Thu, 23 Aug 2007 22:14:44 -0500
> > > >
> > > >Cordial saludo amigos.
> > > >
> > > >amigos tengo un inconvenite con un algoritmo.
> > > >ncesito capturar un float desde el control EDIT, hasta donde tengo
> > > >entendido
> > > >lo que se captura del control EDIT es un char y necesito convertirlo
> en
> > > un
> > > >float, eso lo hago con atoif, y esa variable float la pongo en un if
> >para
> > > >indicar un rango de que ese numeor float sea menor que 0.5 y mayor
> que
> > > 0.1
> > > >y
> > > >si es asi me muestre un mensaje, pero que sino esa dentro del rango
> >haga
> > > >otra cosa. mi problema es que cualquier numero que ingreso
> >supuestamente
> > > >esta dentro de ese rango, por ejemplo ingreso 10 y me acepta que esta
> > > >dentro
> > > >de ese rango y eso no deberia ser.
> > > >el codigo q tengo es el siguiente:
> > > >
> > > >
> > > >char entrada[100];
> > > >
> > > >float numero;
> > > >
> > > >GetWindowText(GetDlgItem(hDlg, ID_NUMERO), entrada, 10);
> > > >
> > > >numero= atof(entrada);
> > > >
> > > >if((numero<0,5)&&(numero>0,1))
> > > >
> > > >{
> > > >
> > > >MessageBox(hDlg,TEXT("funciona"),TEXT("sistemas expertos"),MB_OK );
> > > >
> > > >}
> > > >
> > > >else
> > > >
> > > >{
> > > >
> > > >PostQuitMessage(0);
> > > >
> > > >}
> > > >ojala que me puedan colaborar porque soy muy nuevo en este ambiente y
> > > >realmente no entiendo que pasa.
> > > >Muchas gracias.
> > > >--
> > > >D.A.M.P
> > >
> > >
> > > >_______________________________________________
> > > >Lista de correo Cconclase Cconclase en listas.conclase.net
> > >
> > >
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> > > >Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> > >
> > > _________________________________________________________________
> > > MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
> > >
> > >
> > > _______________________________________________
> > > Lista de correo Cconclase Cconclase en listas.conclase.net
> > >
> >http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> > > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> > >
> >
> >
> >
> >--
> >D.A.M.P
>
>
> ><< win004.c >>
>
>
> ><< ids.h >>
>
>
> ><< win004.rc >>
>
>
> >_______________________________________________
> >Lista de correo Cconclase Cconclase en listas.conclase.net
> >http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> >Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
> _________________________________________________________________
> MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
--
D.A.M.P
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070826/2bd56e94/attachment.html>
Más información sobre la lista de distribución Cconclase