C/Visual C - ejcución concurrente de botones

 
Vista:

ejcución concurrente de botones

Publicado por kayss (3 intervenciones) el 30/05/2006 07:47:29
Hola a todos, quería preguntaros una dudilla a ver si alguno me la
podeis resolver:

Estoy haciendo un programilla de simulación del multiprocesadores en Visual C++ y la
dudua simple es como poder ejecutar 2 botones, es decir ejecutar uno
mientras se está ejecutando la acción que le corresponde al otro
después de haberlo pulsado.

He usado hilos (Thread) pero sólo me deja hacerlo con variables de
tipo static y por tanto, si llamo a algún método de otra calse para
modificar alguna de estas variables eso no se llega a hacer, y ya no se
cómo hacer.

Muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ejcución concurrente de botones

Publicado por Nelek (816 intervenciones) el 30/05/2006 08:22:19
No se si sera el metodo mas adecuado, pero al menos a mi me funciona:

Si declaro en un boton X el evento OnX y un boton Y con el evento OnY.

Si quiero que determinada condicion dentro del codigo de OnY dispare el evento del otro boton hago una simple llamada "OnX ( );"

Siendo mas concretos. Yo tengo un metodo llamado "CFPSView::OnEditSig ( )" que responde a una llamada del boton "Editar señal" de mi barra de herramientas, pero quiero que tambien se ejecute al hacer doble click en la señal representada en pantalla. Pues en el evento "CFPSView::OnLButtonDblClk" simplemente compruebo donde se hace el click y si esta dentro de una señal, entonces llamo al otro.

void CFPSView::OnLButtonDblClk(UINT nFlags, CPoint point)
{ p_bCheckInHit = CheckInputHit (point); //Aqui compruebo si el click esta dentro del bitmap

if (p_bCheckInHit == true)
OnEditSig();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ejcución concurrente de botones

Publicado por kayss (3 intervenciones) el 30/05/2006 08:57:57
Hola

Es que lo que yo me refiero que al pulsa un botón X se cmienza la ejecución de un bucle y este no se para hasta que se pulse ptro botón Y
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ejcución concurrente de botones

Publicado por Nelek (816 intervenciones) el 30/05/2006 09:55:34
Ahmm... no te entendi bien. Yo eso lo haria asignando una variable privada (o miembro, o global... segun te convenga) al segundo boton que cambie segun le aprietas. Y luego en el bucle la compruebas. Es decir

Boton 1 ---> dispara el bucle, Boton2 ---> Cambia el valor de "var2"

while (var2 == false) //Mientras que no se haya apretado el boton2..
{ //el codigo de tu bucle
}

eso seria para el supuesto de que el proceso dentro del bucle siempre se deba de ejecutar entero.

Para interrupciones detras de distintos puntos concretos seria...

while ( ) //Bucle infinito
{ //parte de codigo

if (var2 == true) //Si se ha apretado el otro
goto END;

// mas codigo

if (var2 == true)
goto END;
....
}

END:
//Ya has salido del bucle.

Para una interrupcion instantanea, esté donde esté... deberas hacer q boton de parada lance un mensaje evento parecido al de los clicks del raton, o sea crearte tu propio mensaje de interrupcion y hacer que el bucle se salga en el momento en que ocurre dicho mensaje, pero para esto... tendra que ayudarte otro puesto que me sobrepasa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar