Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: LukaCrosszeria en 13 Junio 2013, 22:23 pm



Título: Problema con Box en VB 2012 Express
Publicado por: LukaCrosszeria en 13 Junio 2013, 22:23 pm
Saludos,

Trato de hacer que mi Form.vb quede con la dimension: 75 x 38. Sucede que a la hora de compilar me sale mas grande de lo que era.

Ejemplo:

(http://img708.imageshack.us/img708/2494/forma1s.jpg)


(http://img28.imageshack.us/img28/4501/forma2j.jpg)


La primera imagen muertas el Form.vb sin compilar con la medida que quiero.


La segunda imagen notese a la izquierda el Form.vb compilado el cual ha aumentado su anchura.


Otra duda que tengo es como se en que medida (x,y) pongo mi programa? Deberia tomar una screenshot en PS y empezar hacer medidas? O hay algun programa que me determine la localizacion.

Gracias.


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 13 Junio 2013, 22:32 pm
AutoSizeMode y AutoSize, creo que eso tenés que verificar que no te esté molestando al compilar.

La propiedad StartPosition te permite colocar el Formulario donde quieras, no precisas nada mas.

Estudiate esas propiedades y nos contas.

Saludos.


Título: Re: Problema con Box en VB 2012 Express
Publicado por: SγиtαxEяяoя en 13 Junio 2013, 23:12 pm
En el Form_Load

Código
  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.  
  3.        Location = New Point(174, 124)
  4.  
  5.    End Sub

(http://i.imm.io/19fSi.png)

o bien le dices en donde aparece si no gustas de poner coordenadas

(http://i.imm.io/19fU4.png)




y para lo del tamaño del form usa

(http://i.imm.io/19g0m.png)

Código
  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.  
  3.       Me.Size = New System.Drawing.Size(300, 200)
  4.  
  5.       'o bien expecificas que es lo que quieres agrandar
  6.  
  7.       Me.Height = (300) 'Altura
  8.  
  9.       Me.Width = (200) 'Largo
  10.  
  11.    End Sub


Título: Re: Problema con Box en VB 2012 Express
Publicado por: LukaCrosszeria en 14 Junio 2013, 00:22 am
Gracias por su ayuda.

Entiendo los conceptos, ya logre que el formulario me quedara del tamanho que yo quisiera. En el problema que tengo es en conseguirle la posicion (x,y) que necesito que este. Es decir, no se como obtener estas coordenadas midiendole. Existe algun programa para obtener las coordenadas? O algun metodo?


Gracias.


Título: Re: Problema con Box en VB 2012 Express
Publicado por: SγиtαxEяяoя en 14 Junio 2013, 01:11 am
Gracias por su ayuda.

Entiendo los conceptos, ya logre que el formulario me quedara del tamanho que yo quisiera. En el problema que tengo es en conseguirle la posicion (x,y) que necesito que este. Es decir, no se como obtener estas coordenadas midiendole. Existe algun programa para obtener las coordenadas? O algun metodo?


Gracias.

Código
  1. 'Marca la posición actual del puntero
  2. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  3.        TextBox1.Text = Cursor.Position.X & " - " & Cursor.Position.Y
  4.    End Sub

Puedes hacer esto, es lo mas basico que ami nivel de aprendizaje se me ocurre xD


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 04:08 am
Gracias por su ayuda.

Entiendo los conceptos, ya logre que el formulario me quedara del tamanho que yo quisiera. En el problema que tengo es en conseguirle la posicion (x,y) que necesito que este. Es decir, no se como obtener estas coordenadas midiendole. Existe algun programa para obtener las coordenadas? O algun metodo?


Gracias.


No entiendo, querés saber la posición del formulario o el tamaño que tiene?


Título: Re: Problema con Box en VB 2012 Express
Publicado por: SγиtαxEяяoя en 14 Junio 2013, 04:15 am

No entiendo, querés saber la posición del formulario o el tamaño que tiene?

El necesita saber las coordenadas para poder ubicar su form en "X" & "Y" coordenada


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 04:26 am
Código:
Me.Text = Me.Location.X & "/" & Me.Location.Y

Así obtenes la posición según las coordenadas del formulario.

Pone ese code en algún boton de comando o donde lo precises.

Se entiende que Me hace referencia al formulario en sí, ya que VB no permite "llamarlo" por el nombre de si mismo.


Citar
   'Marca la posición actual del puntero
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
           TextBox1.Text = Cursor.Position.X & " - " & Cursor.Position.Y
       End Sub

Syntax tu idea es buena solo que este code devuelve la posición del puntero del mouse, no la del formulario :P
Pero es bueno saberlo, es mas yo lo precisaba y ahora no tengo que hacerlo, ya me lo facilitaste :D

Saludos.


Título: Re: Problema con Box en VB 2012 Express
Publicado por: Eleкtro en 14 Junio 2013, 07:43 am
Existe algun programa para obtener las coordenadas?

Existen cientos de programas de ese tipo, entre ellos se encuentra uno que yo hice, muy sencillo:

(http://img560.imageshack.us/img560/4175/l9o.png)

http://foro.elhacker.net/programacion_general/aporte_vs2012_mouse_xy_devuelve_las_coordenadas_del_mouse-t375469.0.html

Pero ten en cuenta que si usas coordenadas manuales, en otro equipo que tenga una resolución distinta a la de tu pc EL FORM NO SE VA A PODER UBICAR EN LAS MISMAS COORDENADAS, es lógico, si estas son tus coordenadas: (1500,100) y si tu tienes 1920 pixels de ancho, pero otra pantalla tiene sólamente 1280 pixels de ancho...

Lo mejor sería que mostrases el código que llevas hecho para poder ayudarte, si sigues con dudas.

Saludos!


Título: Re: Problema con Box en VB 2012 Express
Publicado por: z3nth10n en 14 Junio 2013, 07:52 am
Eso es verdad, siempre intenta no ponerlo más allá de los 800x600 píxeles (creo que es la medida mínima en un PC) leete esto:

http://es.wikipedia.org/wiki/Resoluci%C3%B3n_de_pantalla#Tabla_general

Un saludo. :P


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 10:17 am
Si usamos coordenadas del ratón dentro de nuestro formulario, pienso que no tendrá efecto s¡ se cambia de resolución? cierto? o es hasta cierto punto  :-\

Coordenadas manuales es cierto que puede causar problemas por lo que indicaron los colegas, ya que el form puede quedar fuera de pantalla si es muy grande.


Saludos.


Título: Re: Problema con Box en VB 2012 Express
Publicado por: Eleкtro en 14 Junio 2013, 16:12 pm
Si usamos coordenadas del ratón dentro de nuestro formulario, pienso que no tendrá efecto s¡ se cambia de resolución? cierto? o es hasta cierto punto  :-\

Al principio no entendí a lo que te referias, pero creo que lo he captado, te refieres por ejemplo a esto?:

Código
  1. button1.location = new point(10, 10)

Entonces estás en lo correcto, las "coordenadas del formulario" están dentro del margen del formulario, es decir, si el tamaño del form es 600x600 pues puedes trabajar con esos 600 px sin problemas... no estás manejando los px de la pantalla, sino los px del tamaño del form.

...Aunque en todo esto de las resoluciones también tienen que tener un factor muy en cuenta, que nadie ha comentado, y es la propiedad "AutoScaleMode" (La escala de la aplicación en distintas resoluciones).

Saludos!



Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 18:43 pm
Excelente observación elektro no lo había notado, y sí me refería a eso que indicas lo entendiste correctamente.

Porque si el formulario cambia de tamaño o la resolución es mayor/menor la posición dentro del mismo en base a coordenadas siempre va a ser la misma.


Código:
button1.location = new point(10, 10)

Este asignación va a ser igual tanto en un Formulario de 5 x 5 metros (:P) como en uno común.

Bienvenida la aclaración, se agradece :D


Título: Re: Problema con Box en VB 2012 Express
Publicado por: LukaCrosszeria en 14 Junio 2013, 20:24 pm
Lo he solucionado todo!

Gracias :c!!!

Solo tengo un inconveniente. Quisiera como darle un Attach al Botton sobre otro programa. Es decir que cuando utilice tab no se vaya el Botton mio, si no que se mantenga fijo con otro programa. Es lo que ahora busco xD


Título: Re: Problema con Box en VB 2012 Express
Publicado por: Eleкtro en 14 Junio 2013, 20:34 pm
Quisiera como darle un Attach al Botton sobre otro programa. Es decir que cuando utilice tab no se vaya el Botton mio, si no que se mantenga fijo con otro programa. Es lo que ahora busco xD

No sé si lo he entendido.

Tienes dos aplicaciones (y las dos de código nativo .NET), llamémosles "1" y "2"...

...¿Quieres que al presionar la tecla "Tabulación" en el programa "1", se active el foco de la ventana del programa "2"?

Saludos


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 20:37 pm
No sé si lo he entendido.

Tienes dos aplicaciones (y las dos de código nativo .NET), llamémosles "1" y "2"...

...¿Quieres que al presionar la tecla "Tabulación" en el programa "1", se active el foco de la ventana del programa "2"?

Saludos

Me parece a mi que el quiere lo contrario, que NO pierda el foco el botón, o no?


Título: Re: Problema con Box en VB 2012 Express
Publicado por: SγиtαxEяяoя en 14 Junio 2013, 20:41 pm
Algo asi ??

Con la tecla "Q" muestra el Form 2.. no se cual es el KeyCode para Tabular
¿¿{TAB}??  :huh: :huh: :huh:

Código
  1. Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
  2.        If e.KeyCode.ToString = "Q" Then 'Aqui es donde esta la funcion de la tecla
  3.            Me.KeyPreview = True
  4.            Form2.Show()
  5.        End If
  6.    End Sub
  7.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.        Me.KeyPreview = True
  9.    End Sub


Título: Re: Problema con Box en VB 2012 Express
Publicado por: Eleкtro en 14 Junio 2013, 20:55 pm
Con la tecla "Q" muestra el Form 2.. no se cual es el KeyCode para Tabular
¿¿{TAB}??  :huh: :huh: :huh:

lo tienes aquí:
Código:
vbtab

...Y en la enumeración "ControlChars":
Código:
controlchars.tab

9


Título: Re: Problema con Box en VB 2012 Express
Publicado por: LukaCrosszeria en 14 Junio 2013, 21:15 pm
Me explicare:

Hay dos programas. El botton[Lo llamaremos X] que acabo de hacer y el otro programa [ El que llamaremos Y].

El botton lo hice para simular un botton mas de Y. Es decir como si X perteneciera a Y.

Al momento de hacer una tabulacion uno se sobre pone sobre el otro. Es decir, si selecciono a X, se observa como si X perteneciera a Y, pero si selecciono a Y, este se sobrepone en X. Lo que quiero es que X y Y siempre esten juntos.




Aqui imagenes:

Con el programa mio seleccionado en el Tab
(http://imageshack.us/a/img689/1641/o3ot.jpg)


Con el programa externo seleccionado, el mio pasa a ser sobrepuesto
(http://imageshack.us/a/img18/6568/ynv0.jpg)


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 21:24 pm
Me explicare:

Hay dos programas. El botton[Lo llamaremos X] que acabo de hacer y el otro programa [ El que llamaremos Y].

El botton lo hice para simular un botton mas de Y. Es decir como si X perteneciera a Y.

Al momento de hacer una tabulacion uno se sobre pone sobre el otro. Es decir, si selecciono a X, se observa como si X perteneciera a Y, pero si selecciono a Y, este se sobrepone en X. Lo que quiero es que X y Y siempre esten juntos.




Aqui imagenes:

Con el programa mio seleccionado en el Tab
(http://imageshack.us/a/img689/1641/o3ot.jpg)


Con el programa externo seleccionado, el mio pasa a ser sobrepuesto
(http://imageshack.us/a/img18/6568/ynv0.jpg)

Querés tabular entre botones de programas, nunca lo intente y no se si se pueda, no podés juntar las aplicaciones  y hacer todo en un solo Form?

Ahí sería mas facil :P


Título: Re: Problema con Box en VB 2012 Express
Publicado por: Eleкtro en 14 Junio 2013, 21:33 pm
Querés tabular entre botones de programas, nunca lo intente y no se si se pueda

Si eso es lo que LukaCrosszeria quiere entonces es muy sencillo, yo sigo sin entender muy bien lo que quiere LukaCrosszeria la verdad xD, pero si es lo que dijo XResh entonces solo hay que manejar el evento "LostFocus", enviar un "sendkeys(TAB)" a la aplicación "Y" cuando se pierda el focus (lostfocus) del último botón del "Tab Order" de la aplicación "X".

Si fuesen dos forms en lugar de dos aplicaciones pues en lugar de un "Sendkeys" sería tán simple como usar la función "Focus" ("ButtonY.Focus()"), pero al ser una aplicacion externa solo se me ocurre con un sendkeys ahora mismo...

Saludos!





Título: Re: Problema con Box en VB 2012 Express
Publicado por: LukaCrosszeria en 14 Junio 2013, 21:48 pm
Lo que quiero es mantener las dos aplicaciones juntas. Que al seleccionar la aplicacion exterior se mantenga la mia. :c como si fuera parte de ella. Es decir que no sep ierda el Focus


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 21:49 pm
No sería mejor usar el evento KeyPress para detectar el Tabulador en el boton de comando y si es así realizar la "llamada" a la otra aplicación?

Porque desde lostfocus se ejecutaría aun sin presionar el tabulador.

Tambien hay que ver si la misma esta minimizada para realizar la "llamada"

Sugiero realizar dos Forms y simular doble aplicación haciendolos independientes.

PD: ya me estoy empezando a Liar :P


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 21:50 pm
Lo que quiero es mantener las dos aplicaciones juntas. Que al seleccionar la aplicacion exterior se mantenga la mia. :c como si fuera parte de ella. Es decir que no sep ierda el Focus

No podés manetener el foco de dos cosas a la vez, es una o es otra ?

Ya me lié xD


Título: Re: Problema con Box en VB 2012 Express
Publicado por: Eleкtro en 14 Junio 2013, 22:23 pm
Lo que quiero es mantener las dos aplicaciones juntas. Que al seleccionar la aplicacion exterior se mantenga la mia. :c como si fuera parte de ella. Es decir que no sep ierda el Focus

¿Y porque crees necesitar mantener el foco en dos aplicaciones al mismo tiempo?, me parece bastante incomprensible, quizás tengas una buena razón para querer hacerlo, no sé... pero estoy convencido de que hay soluciones mejores (soluciones que sean posibles xD).

Rotúndamente debo decirte que NO es posible, no puedes mantener el foco activo en dos procesos al mismo tiempo... Windows no funciona de esa manera, es técnicamente imposible, no puedes engañar al SO de esa manera ni con los messages de Windows ni con mágia Voodoo, y de ser posible (cosa que dudo al 99%, pero no al 100%) habría que ser un Dios (de los que trabajan para Bill Gates), aparte no me imagino la de consecuencias y desvarios que eso traeria al Keyboard y al SO si lo de permitir más de una ventana activa con foco fuese una caracteristica "default" o posible de bypassear en Windows, entre las quejas de los pobres usuarios, además de acontecimientos y desgracias como los típicos "errores humanos" al typear una tecla en una aplicación y acabar "jodiendo" una de las otras aplicaciones "activas", los hackers, etc xD.

Lo más sensato como te han dicho es que combines tus dos aplicaciones en dos forms, para que los dos formularios formen parte de UNA misma y única aplicación, y entonces ya todo lo que deseas lo podrás hacer.

Aquí tienes buena documentación sobre la ventana activa y la ventana enfocada para que entiendas un poco el tema: http://chabster.blogspot.com.es/2010/03/focus-and-window-activation-in-win32.html

Saludos!


Título: Re: Problema con Box en VB 2012 Express
Publicado por: SγиtαxEяяoя en 14 Junio 2013, 23:15 pm
Una pregunta Electro el se refiere a esto ?

(http://i.imgur.com/GljjfTF.png)

porque aún no entiendo que es lo que logra hacer


Título: Re: Problema con Box en VB 2012 Express
Publicado por: Eleкtro en 14 Junio 2013, 23:21 pm
Una pregunta Electro el se refiere a esto ?

Él pretende hacer eso, pero con aplicaciones (procesos distintos), no con forms. (O al menos eso entendí)

Saludos!


Título: Re: Problema con Box en VB 2012 Express
Publicado por: XresH en 14 Junio 2013, 23:24 pm
Él pretende hacer eso, pero con aplicaciones (procesos distintos), no con forms. (O al menos eso entendí)

Saludos!

Si, yo entendí eso.

Podes tener activas 50 millones de ventanas, pero solo 1 va a tener el foco.

O acaso cuando abrís el navegador y el reproductor a la vez(por poner un ejemplo) mostrandolos a ambos, si presionas una combinación de teclas sobre ellos, ambos te responden?

Solo uno tiene el foco, pero ambos están activos, asi lo entiendo yo.


Título: Re: Problema con Box en VB 2012 Express
Publicado por: LukaCrosszeria en 16 Junio 2013, 15:51 pm
Ahora entiendo mas del foco y de PCs.. ya veo que es una estafa cuando los vendedores dicen que la pc es multi aplicaciones en linea [ Que puede mantener mas de una aplicacion en un mismo foco. ] Eso es imposible, el procesador descuida otras aplicaciones para atender a la presente en el foco. YA con eso he etendido y he mejorado el programa.


Ahora el programa al presionar ctrl dos veces, llama el formulario dando un menu de aplicaciones. Al igual monitorea una base de datos SQL.


Gracias por su ayuda.