elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Conectar Dos Form y Random de PictureBox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Conectar Dos Form y Random de PictureBox  (Leído 10,291 veces)
caca3000

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Conectar Dos Form y Random de PictureBox
« en: 16 Mayo 2010, 07:17 am »

Buenas, tengo un problema con visual c++ 2008, necesito crear varios PictureBox en un formulario, de manera que cuando de click en un botón genere imagenes aleatorias entre los PictureBox, he tratado de hacerlo pero no he podido, trate de hacerlo de la forma en como se hace en c#, pero me he dado cuenta de que tiene muchas diferencias en sintaxis, lo que necesito es algo como esto (este codigo es de c#):

private void button1_Click(object sender, EventArgs e)
{
List<string> pictureNames = new List<string>();
pictureNames.Add("_1000002314_1");
pictureNames.Add("_1000002314_2");
pictureNames.Add("_1000002315_1");
pictureNames.Add("a");

List<PictureBox> pictureBoxex = new List<PictureBox>();
pictureBoxex.Add(pictureBox1);
pictureBoxex.Add(pictureBox2);
pictureBoxex.Add(pictureBox3);
pictureBoxex.Add(pictureBox4);

ResourceManager rm = WindowsFormsApplication1.Properties.Resources.ResourceManager;
for (int i = 0; i < pictureBoxex.Count; i++)
{

int randomPictureIndex=new Random().Next(0,pictureNames.Count);
string randomPictureName = pictureNames[randomPictureIndex];
pictureNames.Remove(randomPictureName);
Image img = rm.GetObject(randomPictureName) as Image;
pictureBoxex.Image = img;
}
}
Pero esto no se como implementarlo en visual, si me pueden ayudar con un ejemplo en codigo de visual c++.

Otro problema q' tengo es a la hora de unir dos form, pues en c# simplemente agregaba el form2 y luego en el formulario padre lo q' hacia era nuevo_formulario = new Form2(); y luego nuevo_formulario.Show() para mostrarlo y ya podia trabajar, pero en visual c++ no he encontrado la forma de hacerlo.
Espero me puedan ayudar! gracias de antemano y saludos!!!!


En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #1 en: 16 Mayo 2010, 16:08 pm »

Que tipo de proyecto de visual c++ utilizas? me refiero a si usas uno de Windows Forms u otro?


En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
caca3000

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #2 en: 16 Mayo 2010, 23:06 pm »

Utilizo uno de windows form, y estoy utilizando visual c++ 2008
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #3 en: 17 Mayo 2010, 01:04 am »

Para mostrar el segundo formulario te basta con:
Código
  1. #include "Form2.h"

Código
  1. Form2^ f2 = gcnew Form2;
  2. f2->ShowDialog();

y para acceder a los recursos:

http://support.microsoft.com/kb/816181/es

En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
caca3000

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #4 en: 17 Mayo 2010, 03:01 am »

Gracias!! me sirvio de mucho tu ayuda. Me podrías dar un ejemplo en código de como declarar y utilizar el random en visual c++, para generar imagenes aleatorias en un picturbox ?
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #5 en: 17 Mayo 2010, 03:37 am »

Código
  1. #include <stdlib.h>
  2. #define MAX 9
  3. #define MIN 1

Código
  1. for(int i = 0; i < 9; i++ )
  2. {
  3.      int u = (double)rand() / (RAND_MAX + 1) * (MAX - MIN)+ MIN;
  4.      this->listBox1->Items->Add(u);
  5. }

Agregando un listbox a tu form y listo.
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
caca3000

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #6 en: 18 Mayo 2010, 23:56 pm »

Existe alguna forma de generar PictureBox aleatorios?, me refiero en el caso de que se tenga en un Form con varios PictureBox y sus respectivas imagenes y en vez de cargar la imagen aleatoria a cada PictureBox mover de posicion el pictureBox...
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #7 en: 19 Mayo 2010, 14:55 pm »

Quieres decir que al cambiar de posicion, un picturebox determinado se vea delante de los otros y que sea el unico visible? para mostrar la imagen que tiene y no las que tienen los otros, si es asi puedes utilizar:

Código
  1. this->pictureBox1->Hide();

Código
  1. this->pictureBox1->Show();

asi muestras solo el o los que te interesan y ocultas el resto.
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
caca3000

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #8 en: 19 Mayo 2010, 17:08 pm »

Me refiero en el caso de que yo tenga 36 picturebox con imagenes, tengo un Form1 y un Form2, al ejecutar el programa  muestro el form1 y mediante un botón accedo al Form2 que contiene 36 PictureBox con su respectiva imagen. Entonces la idea es que cada vez que le dé un click a ese botón me aparezcan las imagenes en diferentes posiciones (que nunca esten fijas en la misma posición sino que sean al azar). El código que me diste del random si me sirve pero tengo un problema al cargar las imagenes. Lo que quiero es hacer el juego de las parejas, la imagenes las tengo enumeradas de 1 hasta 36 osea hay 18 únicas y las otras 18 son las parejas de cada una. Pero al cargar el Form aparecen hasta 4 de la misma  y he puesto bastantes condicones para que eso no suceda y aún así sigue igual.
Código:
[while(cont != 36){

 aux = (double)rand() / (RAND_MAX + 1) * (MAX - MIN)+ MIN;

n1 = aux

 if(t1 == 1 ){
        if(n1 != n2 && n1 != n3 && n1 != n4 && n1 != n5 && n1 != n6 && n1 != n7 &&
           n1 != n8 && n1 != n9 && n1 != n10 && n1 != n11 && n1 != n12 && n1 != n13 &&
           n1 != n14 && n1 != n15 && n1 != n16 && n1 != n17 && n1 != n18 && n1 != n19 &&
           n1 != n20 && n1 != n21 && n1 != n22 && n1 != n23 && n1 != n24 && n1 != n25 &&
           n1 != n26 && n1 != n27 && n1 != n28 && n1 != n29 && n1 != n30 && n1 != n31 &&
           n1 != n32 && n1 != n33 && n1 != n34 && n1 != n35 && n1 != n36){

this->b1->Image = Image::FromFile(String::Concat(System::Environment::GetFolderPath(System::Environment::SpecialFolder::Personal),"\\" + aux + ".JPG"));
t1 = 0;
cont++;
}
}]

esa serie de n1, n2, n3....... Son declaraciones que contendran un numero aleatorio del 1 al 36, una vez que aux tenga el numero lo copia en n1 y aparte hay otra condición donde t1 esta inicializado en 1 entonces una vez que entre verifica que ese numero no sea igual al resto y si cumple lo asigna al p1 que es el PictureBox1 y cuando eso suceda t1 es 0 para que nunca vuelva a entrar ahí. Bueno el ciclo va a terminar hasta que todos los pictureBox esten llenos eso lo lleva el cont
No se si me explico bien, la verdad de esta forma no esta funcionando bien y ya no se que mas puedo hacer por eso pense que talvez era más fácil cargar manualmente las imagenes al pictureBox y luego hacer aleatorios los pictureBox pero no se como hacerlo. Muchas gracias por toda la ayuda 43H4FH44H45H4CH49H56H45H 
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: Conectar Dos Form y Random de PictureBox
« Respuesta #9 en: 20 Mayo 2010, 18:11 pm »

Bueno segun entiendo quieres que los pictureBox se muevan en distintas posiciones y nunca repitan el mismo lugar, ya sea que lo hagas moviendo o asignando una imagen al picturebox, lo que tienes que hacer primero es crear un boton y un listbox, en el boton va un "Do - While" dentro del mismo debes generar el numero aleatorio y la condicion debe ser que mientras el numero generado estee contenido en el listbox que vuelva a generar dicho numero, asi evitas que los numeros se repitan, al salir de la condicion haces un switch y asignas la posicion o imagen para el picturebox deacuerdo al case.
Primero haz un proyecto nuevo solo para ver como funciona lo que te digo y luego lo aplicas a tu proyecto sin un listbox (que solo es para ver como funciona, pudiendo ser un array u otro.)
Saludos
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como pasar un Frame o un Picturebox completo de un form a otro.
Programación Visual Basic
79137913 0 2,361 Último mensaje 12 Junio 2012, 20:08 pm
por 79137913
Como puedo semitransparentar un picturebox o parte de un form?
Programación Visual Basic
okik 3 5,503 Último mensaje 6 Mayo 2017, 22:04 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines