Visual basic

Hola de nuevo yo
debido a tus altos conocimientos lamento en comunicarte que te abatallare a preguntas.
-quisiera una vez que hago un instalador de la aplicacion incluir en la carpeta que se crea al apretar inicio-aplicaciones el archivo que desinstala la aplicacion.
-recien te pregunte como hacia para cuando minimizo que se minimisen los dos formularios. Al apretar la rayita en el segundo formulario se visualiza el primero, y como te decia no quiero que se vea el probelma que tengo es que cuando aprieto la rayita no pasa nada!!!!!!.......por favor ayuda!!!!!
- por ultimo quiero que al minimizar lo haga en la barra inferior.
mil gracias y perdon por tanta molestia
saludos
MARTIN

1 respuesta

Respuesta
1
Estamos aqui porque no nos importa ayudar, como a mi me ayudaron cuando era novato. (Y aun lo soy en cierto modo) Solo que, por favor, cuando te contesten una pregunta, valorala. En tu menú personal encontrarás como valorarlas.
Necesito mas datos de tu código para asegurarme que lo que te digo o mando es correcto, pero a ver si a partir de un ejemplo te lo aclaro :
Crea un nuevo proyecto con dos formularios, y al form1 le pones un boton.
Al form1 añadele este código :
Dim ventana As Form2
Dim blncargada As Boolean
Private Sub Command1_Click()
blncargada = True
Set ventana = New Form2
Me.Visible = False
ventana.Show vbModal
ventana.AsignarPadre (Me)
Set ventana = Nothing
End Sub
Private Sub Form_Activate()
If blncargada Then
If ventana.WindowState = vbMinimized Then
Me.Hide
End If
End If
End Sub
Private Sub Form_Load()
blncargada = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
y al Form2 le añades este código :
Dim FrmPadre As Form
Public Sub AsignarPadre(Padre As Form)
Set FrmPadre = Padre
End Sub
Private Sub Form_Load()
End Sub
Private Sub Form_Unload(Cancel As Integer)
FrmPadre.Visible = True
End Sub
A ver si te aclaro asi detalles.
Para lo de package de instalacion veamos.
La desinstalacion lo normal es que se realice desde el panel de control, pero si quieres añadir un elemento de desinstalacion, tendras que añadir un item en el package & deployment wizard que te dirija a : ST6UNST.EXE, pero no lo he hecho nunca aun. Por ello te remito el articulo que tengo almacenado para cuando lo vaya a hacer :
These instructions are for VB 6.0, but, with some modification, will probably also work for earlier versions. Also, I've been told that the Setup1. Vbp source code might have been changed with service pack 5, so if you're at an earlier service pack, the code might look different, and then these instructions will have to be modified. Easier to upgrade VB to service pack 5.
The Packaging and Deployment Wizard (P&D Wizard) is a pretty good tool for creating installation packages. Along with the other things it does, it will create shortcuts in the Start Menu. Unfortunately, it won't create Desktop shortcuts; however, with just a few lines of code (added to Setup1.vbp), it can be *easily* modified to create them.
Before attempting this modification, make sure you save the Setup1.vbp files somewhere for backup purposes. Also, read the sections on the MSDN CD, concerning the relationship between the P&D Wizard and Setup1. Vbp, and sections concerning how to modify Setup1. Vbp. First, check the index tab for 'Setup1. Vbp', and read that, which tells you the location of the project files. Then, under the Contents tab, VB, 'Getting Started with VB', 'Find it Fast', read the sections dealing with 'Distributing your applications'.
At the end of this article there are listed some more articles from Microsoft's Knowledge Base, and http://www.allapi.net, which are good supplemental reading.
Although there are a number of ways to create a Desktop shortcut outside of Setup1.exe, modifying Setup1.exe to create them, instead, has a number of benefits, including a built-in install recovery routine in case of failure, and logging the shortcut creation in St6Unst.log. The latter is important, so that, if the user subsequently uninstalls your application, the uninstall routine will also cleanly remove the Desktop shortcut(s).
The procedure is as follows:
1) In frmSetup1's Form_Load event, look for the line:
Case UCase$(gsSTARTMENUKEY), UCase$(gsPROGMENUKEY)
and modify it to say:
Case UCase$(gsSTARTMENUKEY), UCase$(gsPROGMENUKEY), "DESKTOP"
What these lines do, is skip creating a Start Menu Group for the groups 'Start Menu' and 'Programs', because those Groups already exist. We are then adding a *new* keyword "DESKTOP" which tells it to also skip creating a 'DeskTop' group, because we don't want to create that group in the Start Menu, but only add a Desktop shortcut, instead.
2) Then, in basSetup1's 'CreateIcons' Sub, look for the lines:
Loop
CreateShellLink strProgramPath, strGroup, strProgramArgs, strProgramIconTitle, fPrivate, sParent
and, insert 3 new lines so that it now looks like:
Loop
If UCase(strGroup) = "DESKTOP" Then
strGroup = "..\..\Desktop"
End If
CreateShellLink strProgramPath, strGroup, strProgramArgs, strProgramIconTitle, fPrivate, sParent
Important note: By modifying Setup1.exe this way, Setup1 will now treat the group 'Desktop' as a special keyword and always create the shortcut on the Desktop, rather than as another group in the Start Menu.
3) Now, you're done with Setup1. Vbp, and you can compile it. On my system, the .exe is in the PDWizard folder.
Now that you've recompiled Setup1.exe, when you use the P&D Wizard, it should now package the new version of Setup1.exe with your install package.
To make this work, you then need to modify the Setup. Lst that was created when you used the P&D Wizard. What you will do is add a new IconGroup, named DeskTop, with one or more icons that you want to be created on the Desktop.
Look for the [IconGroups] section in Setup.lst. It should look something like this, if you have told P&D Wizard to create Start Menu shortcuts:
[IconGroups]
Group0=Your Application
PrivateGroup0=-1
Parent0=$(Programs)
If the [IconGroups] section doesn't already exist, just add it.
At the bottom of that section, add a new IconGroup for your Desktop shortcut(s) like:
Group1=DeskTop
PrivateGroup1=-1
Parent1=$(Programs)
The '1' subscript on the keyword for each line has to be incremented by 1 for each IconGroup you already have, so if Setup. Lst already has a Group1, you'd use Group2, PrivateGroup2, Parent2, or Group3, PrivateGroup3, Parent3, etc.
Next, somewhere after the IconGroups section, add a new [DeskTop] section:
[DeskTop]
Icon1="Your Application.exe"
Title1=Your Application
StartIn1=$(AppPath)
This is assuming that the target of your Desktop shortcut is in the $(AppPath) folder. $(AppPath) is a macro that tells Setup1.exe that the target program is in your main application folder. There are other macros you can use, instead, that are documented on the MSDN CD and the Knowledge base.
If you want more Desktop shortcuts, just add them under the first one, but use Icon2, Title2, StartIn2, Icon3, Title3, StartIn3, etc.
Now you're done. When you or the user runs Setup1.exe, it should now create a Desktop shortcut.
Check these Microsoft Knowledge Base articles for further information:
Description of Setup. Lst Sections (Q189743)
Run Setup1. Vbp in the Design Environment (Q189738)
Package and Deployment Wizard Installation Macros (Q189739)
Create Shortcuts (Shell Links) within Windows (Q155303)
Note: The last one, above, covers how to create shortcuts in VB 5.0, using the fCreateShellLink API. That example doesn't work correctly in 6.0, but you can find the updated example which *does* work in 6.0 at http://www.allapi.net. At that website, click on 'API List', then search for fCreateShellLink, then click the 'CreateShellLink V6' example.
Que tal, te comento lo que quiero hacer es lo siguiente
Private Sub Calendar1_Click()
turnos.Show 1
End Sub
Esto corresponde a cuando hago click en un dia del formulario va al formulario
de turnos donde tengo texts boxes para cada horario disponible, la unica forma
que tengo por codigo volver al formulario es a traves de apretar un boton volver
y vuelve a dicho formulario a traves de dicho codigo.
Private Sub cmvolver_Click()
Unload Me
End Sub
es por eso que cuando minimizo se ve el formulario
donde esta el calendario, pero no encuentro forma que por medio de codigo
al minimizar se minimice el otro si es que se puede.
aparte quiero que al minimizar lo haga en la barra de tareas.
Muchas gracias y espero tu respuesta
Espero que entiendas lo que quiero hacer.
MARTIN
A la ventana que tiene el calendar añadele esto :
dim blnCargada as boolean
dim VentanaTurnos as Turnos
' Declara un objeto de la clase de la ventan Turnos
Private Sub Calendar1_Click()
blnCargada=true
' blnCargada te indica si la ventana esta en memoria.
set VentanaTurnos = new Turnos
'Creas una nueva ventana de la clase Turnos
VentanaTurnos.AsignarPadre (Me)
' Asignas este formulario como padre a la ventana creada de Turnos (y a este formulario lo hace no visible)
VentanaTurnos.Show 1
' Muestras el formulario como no modal
Set VentanaTurnos = Nothing
'Descargas la ventana turnos
blnCargada=false
End Sub
Private Sub Form_Activate()
If blncargada Then
If VentanaTurnos.WindowState = vbMinimized Then
' Si la ventana turnos no está en estado minimized minimizo esta
Me.Hide
End If
End If
End Sub
Private Sub Form_Load()
' Inicialización
blncargada = False
End Sub
Al formulario Turnos añadele esto :
' Puntero hacia el formulario que lo ha creado
Dim FrmPadre As Form
Public Sub AsignarPadre(Padre As Form)
Set FrmPadre = Padre
frmPadre.visible = false
' Asigno el puntero y lo pongo visible = false
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Cuando cierro la ventana pongo el padre de nuevo visible
FrmPadre.Visible = True
FrmPadre.show
End Sub
Private Sub Form_Deactivate()
' Extra si la ventana pierde el foco se minimiza y muestra el icono en la barra de inicio
Me.Hide
App.TaskVisible = True
End Sub
No he probado el código, pero creo que es correcto.
Si te da algun lio avisa y lo pruebo.
athrarn: muchas gracias por preocuparte, mira yo vivo en mendoza, argentina y me voy a ausentar unos dias asique cierro la pregunta y cuando pruene el codigo te escribo para decirte que paso.
igualmente, muchas gracias, la verdad que son muy utiles tus codigos, eso es lo que necesito
gracias
MARTIN
Al final no cerraste la pregunta.
:)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas