|
151
|
Programación / Programación Visual Basic / Re: remover em...
|
en: 6 Junio 2006, 03:10 am
|
En primer lugar, para "borrar" la barra de título de un formulario tienes que establecer la propiedad BorderStyle a None. Esto solo se puede hacer en tiempo de diseño, en tiempo de ejecución no. Si quieres quitar la barra de título en tiempo de ejecución tendrás que usar APIs. En el ejemplo de más abajo utilizaremos las API CreatewindowRegtRgn y Setwindowreg para redibujar la ventana SIN el marco: Private Declare Function CreateRoundRectRgn Lib "gdi32" _ (ByVal X1 As Long, ByVal Y1 As Long, _ ByVal X2 As Long, ByVal Y2 As Long, _ ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" _ (ByVal hwnd As Long, ByVal hRgn As Long, _ ByVal bRedraw As Boolean) As Long
Private Sub Command1_Click() Dim lRet As Long Dim l As Long Dim Width As Long Dim Height As Long
Width = Me.ScaleWidth / Screen.TwipsPerPixelX Height = Me.ScaleHeight / Screen.TwipsPerPixelY
lRet = CreateRoundRectRgn(10, 35, Width, Height + 900, 0, 0)
l = SetWindowRgn(Me.hwnd, lRet, True) End Sub Para agregar un botón que cierre el programa solo tienes que escribir ésto: Private Sub Command1_Click() End 'Cerrar el programa End Sub Si lo que quieres es cerrar sólo el form Private Sub Command1_Click() Unload Me 'Cerrar el form End Sub Para minimizar: Private Sub Command1_Click() Me.Windowsstate = vbminimized 'Minimizar End Sub Un saludo.
|
|
|
152
|
Programación / Programación Visual Basic / Re: Porblema con Shell
|
en: 6 Junio 2006, 03:04 am
|
te lo digo pa que lo sepas porque no soy de esas señoritas que van diciendo por detras yo te lo digo ati para que tú lo leas y ya te dije de buen royo todo esto..pero no me trates como bobo men Gracias por decirlo; que sepas que mi intención no era ni mucho menos tratarte como bobo; aún asi perdona si lo hice. Volviendo a tu pregunta, si quieres en vez de Shell puedes usar la API ShellExecute. Por ejemplo, imagina que quiero ejecutar la calculadora de Windows al cargarse el formulario. El código sería algo así Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Const SW_SHOWNORMAL = 1 Private Sub Form_Load() ShellExecute Me.hwnd, vbNullString, "C:\WINDOWS\CALC.EXE", vbNullString, "C:\", SW_SHOWNORMAL End Sub Saludos y espero que el antivirus no te salte más!
|
|
|
154
|
Programación / Programación Visual Basic / Re: Porblema con Shell
|
en: 5 Junio 2006, 23:46 pm
|
Intenta estructurar un poquito tus post. Ya sabes, párrafos, comas, palabras completas... y esas cosas. ¡Así es más fácil ayudarte! En primer lugar es difícil que por usar esa instrucción te salte el Nod32 Antivirus...... Shell no es una instrucción intrínsecamente maligna. Me explico mejor... si yo creo ahora un proyecto en VB, hago un botón, y escribo ... el Nod32 Antivirus no va a saltar. (Obviamente) Por tanto el problema está en el resto de tu código. Quizás en ese contexto Shell haga saltar al antivirus. En ese caso, cambiar esta instrucción por otra no solucionaría el problema, por lo menos tal y como yo lo entiendo. Un saludo!
|
|
|
155
|
Programación / Programación Visual Basic / Re: inmovilizar form
|
en: 5 Junio 2006, 23:40 pm
|
ademas quiero saber el codigo, para aprender como se hace. Lo que preguntas es tan básico que no necesita código, tan sólo has de modificar las propiedades del form, tal y como te han dicho Red mx y Robokop. Sólo necesitarías código si quisieras modificar esos atributos en tiempo de ejecución (creo que hay algunos que no se pueden, como por ejemplo BorderStyle) paro bastaría una línea para hacerlo. Un saludo
|
|
|
157
|
Programación / Programación Visual Basic / Re: entrar al CD-ROM
|
en: 5 Junio 2006, 23:33 pm
|
1. Usa GetDriveType para comprobar si la unidad que sea es CD, HD etc.... Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long Private Sub Form_Load() Select Case GetDriveType("E:\") Case 2 Me.Print "Extraíble" Case 3 Me.Print "Disco Duro" Case Is = 4 Me.Print "Unidad de Red" Case Is = 5 Me.Print "Cd-Rom" Case Is = 6 Me.Print "Ram disk" Case Else Me.Print "No Reconocido" End Select End Sub En tu caso, que buscas CD-Rom tendrías que esperar que la función te devuelva el entero "5" 2. Una vez hayas dado con la unidad de CD utiliza ShellExecute para explorar el contenido Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Const SW_SHOWNORMAL = 1 Private Sub Form_Load() ShellExecute Me.hwnd, vbNullString, "http://www.google.es", "open", "C:\", SW_SHOWNORMAL End Sub Como ves en el code, tienes que pasarle a la función un parámetro (lpOperation). En el ejemplo pone "open", tu, como quieres explorar, tendrías que poner "explore". Un saludo!
|
|
|
|
|
|
|