Esto puede parecer facil, y de hecho, creo que lo es xD..
Lo que quiero es hacer que un form ocupe TODA la pantalla, incluyendo la barra de inicio, bandeja de sistema,etc.
Y que al pasarlo de una pantalla con una resolucion a otra, no pase nada y siga bien...como puedo hacerlo?
Un saludo ;)
esto te ayudara, si estas tratando de crear un cyber control... tendras que ver otras cosas con respecto al teclado, pero si es un protector de pantalla, solo lo del movimiento del mouse, pero si es otra cosa jejejeje....
aka esto te dara una idea:
http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?txtCriteria=screen+saber&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&lngWId=1&B1=Quick+Search&optSort=Alphabetical
En principio tendrias que poner el formulario siempre visible:
Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = 1
Private Const SWP_NOMOVE = 2
Private Const HWND_NOTOPMOST = -2
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
Luego tendrias que llevar el tamaño del form al de la pantalla con los datos del objeto Screen, el problema es que no reconoce los cambios de resolucion cuando se está ejecutando, asi que también deberías usar alguna llamada de la API, no se cual.
Ya me paso un code acosta.sergi...
Es un proyecto un poco privado xD...
Una cosa...si yo tengo varios form y decido minimizar uno...no lo podre ver, puesto que el form inicial lo tapa...como puedo arreglar esto? :rolleyes:
"Visualmente" no se me ocurre nada, pero podes recorrer la coleccion Forms y jugar un poco con eso (ver si está minimizado, etc)
Saludos
Cita de: Ironhorse en 6 Abril 2006, 01:11 AM
"Visualmente" no se me ocurre nada, pero podes recorrer la coleccion Forms y jugar un poco con eso (ver si está minimizado, etc)
Saludos
No entiendo a que te refieres...
Lo que quiero es que al minimizar yo algo, se me quede en el form y no afuera..me entienden?
Un saludo
Emm, pues que el form que ocupa toda la pantalla sea mdi.
O que el form que quieres minimizar sea toolbox, al forzarle que se minimize se quedará suelto fuera de la barra y podrás situarlo dónde guste. O sino ya lo último crearte tu los botones de maximizar.
No se si he respondido lo que buscabas pero esque es un poco díficil de entender, y mas si no te terminas de explicar por ser privado el proyecto :P.
Un saludo
Bueno, imaginate que es como el escritorio de windows...
Tu tienes una aplicacion abierta, y cuando le das a minimizar se te va a la barra donde esta el boton inicio...pues yo quiero que haga igual pero encima del form principal.
Un saludo
:P y esto no serviría??
Form1.Width = Screen.Width
Form1.Height = Screen.Height
Cita de: xXnewbieXx en 6 Abril 2006, 16:05 PM
:P y esto no serviría??
Form1.Width = Screen.Width
Form1.Height = Screen.Height
Eso ya lo tengo solucionado, aparte, de esa forma, se agranda para abajo y hacia la derecha, pero no queda perfectamente cubierto del todo.
Cita de: BenRu en 6 Abril 2006, 15:49 PM
Bueno, imaginate que es como el escritorio de windows...
Tu tienes una aplicacion abierta, y cuando le das a minimizar se te va a la barra donde esta el boton inicio...pues yo quiero que haga igual pero encima del form principal.
Un saludo
Y alguien sabe esto?
CitarEso ya lo tengo solucionado, aparte, de esa forma, se agranda para abajo y hacia la derecha, pero no queda perfectamente cubierto del todo.
sí, se rueda a la drcha debido a la posicion dl frm. En las propiedades si cambias StartUpPosition a "2 -
CenterScreen" se keda perfectamente alineado.
weno hace tiempo k hice esto para un proyecto, pero m parece q era así...
x cierto si kiers q tp c vea la barra d herramientas kixas sea 1 chapuza,pero yo kito el caption dl frm y tbn el controlbox y ya ocupa todo.
y la verdad para q c mantenga el tamaño = a la pantalla dps d cambiar la resolución lo uniko k c m ocurre es una cosa asi...
'el frm centrado "CenterScreen" y al cargar q esté
en el load:
'creo k habria q ponerlo en el load aparte de en el timer pq sino, aunq esté centrado al empezar el timer, c agrandaria a la drcha y hacia abajo.
Form1.Width = Screen.Width
Form1.Height = Screen.Height
en un timer:
Form1.Width = Screen.Width
Form1.Height = Screen.Height
:-\ pero m da k tbn es una chapuza, cuestión d probarlo...( ;D es k aki no tengo el vb)
saludos!
Pues lo que te decia, si haces que el form que ocupa toda la pantalla sea mdi todos los que contenga se minimizarán dentro de ella, no en la barra de inicio.
Si lo anterior no te vale por lo que sea también podrías crear los forms sin borde y al hacer el .windowstate=vbminimized tampoco se irian a la barra de menú inicio luego con setwindowpos blablabla lo meterías donde quisieras.
Pero claro, al estar sin bordes no podrías mover el formulario cuando estubiera en su estado normal, para solucionar esto i además poderte crear una barra de título bien bonita xD podrías usar el siguiente código que implementé hace tiempo para algo similar.
En un módulo:
'Módul Simulador barra de títol
'MazarD@gmail.com
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Private varbooleana As Boolean
Private xanterior As Single
Private yanterior As Single
Public Sub MovBarra(ByRef FormularI As Form, ByVal Boto As Integer, ByVal x As Single, ByVal y As Single)
Dim PosPunt As POINTAPI
If Boto = 1 Then
If varbooleana = True Then
xanterior = x
yanterior = y
varbooleana = False
End If
GetCursorPos PosPunt
FormularI.Left = (PosPunt.x * Screen.TwipsPerPixelX) - xanterior
FormularI.Top = PosPunt.y * Screen.TwipsPerPixelY - yanterior
Else
varbooleana = True
End If
End Sub
Para utilizarlo creas un label que hará el papel de barra de título y:
Private Sub Label5_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
MovBarra Form1, Button, x, y
End Sub
Suerte
no te vale con:
Me.BorderStyle = 0
Me.WindowState = 2
???
___________________
sorry man, no verifike antes de posetear, por lo que veo la fincion borderstyle no hace caso por codigo xD, haslo manualmente, en modo grafico, seleccionas el form, y en las propiedades buscas borderstyle, y le pones 0-none
saludos¡¡
No se, ahora pruebo lo de MazarD y morpheusoliver y os cuento