|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Isla Programacion
Páginas: [1]
1
« en: Sábado 22 de Junio de 2002, 15:37 »
Hola Pon en un Form un PictureBox y un Timer, pega este código en declaraciones y ejecútalo.
Te mostrará con efecto de zoom la zona donde se encuentra el ratón
Option Explicit
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Const SRCCOPY = &HCC0020 Private Const VelocidadRefrescoMilliSegundos = 100
Private Type POINTAPI X As Long Y As Long End Type
Private FactorZoom As Single, UltimaPos As POINTAPI, DimensionAlto As Long, DimensionAncho As Long
Private Sub TakeShot(CenterX As Long, CenterY As Long) Dim Top As Long, Left As Long, nAlto As Long, nAncho As Long, ScreenDC As Long nAlto = DimensionAlto * (1 / FactorZoom) nAncho = DimensionAncho * (1 / FactorZoom) ScreenDC = GetDC(GetDesktopWindow) Top = CenterY - (DimensionAlto / (2 * FactorZoom)) Left = CenterX - (DimensionAncho / (2 * FactorZoom)) Call StretchBlt(Picture1.hdc, 0, 0, DimensionAncho, DimensionAlto, ScreenDC, Left, Top, nAncho, nAlto, SRCCOPY) End Sub
Private Sub Form_Load() DimensionAlto = 200 DimensionAncho = 300 Picture1.Height = DimensionAlto * Screen.TwipsPerPixelY Picture1.Width = DimensionAncho * Screen.TwipsPerPixelX FactorZoom = 2 'Valor inicial de factor de zoom Timer1.Interval = VelocidadRefrescoMilliSegundos End Sub
Private Sub Timer1_Timer() 'Solo refresca la imagen si se ha modificado la 'posición del mouse, así consume menos recursos 'y corre más Dim NuevaPos As POINTAPI, Changed As Boolean Changed = False Call GetCursorPos(NuevaPos) If NuevaPos.X <> UltimaPos.X Then Changed = True If NuevaPos.Y <> UltimaPos.Y Then Changed = True If Changed = True Then UltimaPos = NuevaPos Call TakeShot(UltimaPos.X, UltimaPos.Y) End If End Sub
Saludos.
2
« en: Sábado 22 de Junio de 2002, 15:07 »
Hola En http://www.islaprogramacion.com/ encontrarás, en el apartado "Demos" del menú, un ejemplo de como incluir un control en un DbGrid Saludos
3
« en: Domingo 19 de Mayo de 2002, 11:38 »
Hola Para colocar una casilla de verificación o cualquier otro control en una posición dada de un DbGrid, debes crear estos controles en tiempo de ejecución y situarlos en la posición adecuada, asignandole los valores. Si quieres un ejemplo, puedes bajarte una demo donde aparece una lista en una celda de un DbGrid para toda una columna. La dirección es www.islaprogramacion.com en el apartado demos la encontrarás. Saludos.
4
« en: Miércoles 24 de Abril de 2002, 16:39 »
Hola Mar:
Para que te muestre el botón guardar debes usar el método ShowSave.
Saludos.
5
« en: Domingo 21 de Abril de 2002, 17:59 »
Hola:
Vgeta, como comentas anteriormente, RecordCount a veces no funciona bien, ésto no es del todo cierto, si funciona bien, el problema radica en que tienes que rellenar el recorset con los datos y esto no sucede hasta quel el puntero recorra los registros. Poner un movelast basta para que esto suceda. Asi que mi consejo es que antes de un RecordCount se haya realizado al menos un MoveLast.
Saludos.
6
« en: Domingo 21 de Abril de 2002, 17:34 »
Hola:
Para crear un salvapantallas, solo tienes que cambiar al ejecutable que realices, la extención .EXE por .SCR
Ahora bien, tienes que cumplir ciertas reglas.
El form no debe tener bordes ni caption ni controles, es decir le tienes que hacer desaparecer todo aquello que interactúa con el usuario del ordenador y ejecutarlo de forma maximizada.
Tienes que finalizar (unload) el programa mediante los eventos del teclado y del mouse.
Saludos.
7
« en: Martes 26 de Marzo de 2002, 22:34 »
Hola Juan:
El evento RowColChange se ejecuta cada vez que cambia la columna o fila donde este el cursor, ya sea por cambiar de celda o por que lo hagas con el RecordSelectors.
Si lo que quieres es que solo lo haga cuando pulse el selector de la Izda tienes que escribir un condicional (If) que evalue si la fila esta seleccionada, ya que si lo haces mediante el cambio de celda la fila no se selecciona.
Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
End Sub
DBGrid1.SelBookmarks.Count devuelve el numero de filas que tienes en la coleccion de filas seleccionadas. Puedes usar esta colección para posicionar el puntero de la base de datos en la fila seleccionada.
If DBGrid1.SelBookmarks.Count > 0 Then Data1.Recordset.Bookmark = DBGrid1.SelBookmarks(0) Else 'Esto evitaria que el usuario seleccionara otra fila mientras pulsa Shift o Ctrl. MsgBox "Solo puedes seleccionar una fila para mostrar" End If
Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) If DBGrid1.SelBookmarks.Count > 0 Then Data1.Recordset.Bookmark = DBGrid1.SelBookmarks(0) 'Aqui situas el código para los TextBox si no están enlazados al data. Else 'Esto evitaria que el usuario seleccionara otra fila mientras pulsa Shift o Ctrl. MsgBox "Solo puedes seleccionar una fila para mostrar" End If End Sub
Observa que al igual que los indices de controles el valor del último indice es Count - 1
Saludos.
8
« en: Domingo 24 de Marzo de 2002, 00:11 »
Pon dos CommandButton en un formulario y pega este código en la sección declaraciones
Private Sub Command1_Click() Call Command2_Click End Sub
Private Sub Command2_Click() MsgBox "hola" End Sub
Ejecutalo, verás que al pulsar sobre Command1 se ejecuta el código del evento Click del Command2.
Saludos.
9
« en: Sábado 23 de Marzo de 2002, 02:09 »
Puede que los objetos existan, pero seguro que estos los declaraste en un formulario y no en el modulo. Puedes pasar los objetos como parametros de esas funciones. Este ejemplo pasa como parametro un ComboBox si el Item se añade te devuelve Verdadero en caso de error devuelve False. Public Function AñadirItem(Combo As ComboBox, Valor As String) As Boolean On Error Goto Terror Combo.AddItem Valor AñadirItem = True Exit Function Terror: AñadirItem = False End Function Al llamar a la función desde cualquier Form de tu proyecto, se añadira a la lista del comboBox pasado como primer parametro, el valor indicado en el segundo parametro. Solo tienes que indicarle con que objeto trabajar y el valor a añadir. If AñadirItem(MiCombo,"Hola") Then MsgBox "El elemento se ha añadido" Else MsgBox "Se ha producido un error" End If Esto no es más que un ejemplo, adaptalo al objeto y valores que quieras usar. Saludos. Para más información www.islaprogramacion.com
10
« en: Sábado 23 de Marzo de 2002, 01:49 »
Usa la instrucción Call
Call Command1_Click
11
« en: Lunes 18 de Marzo de 2002, 20:35 »
En modo lvwReport el Listview no admite iconos en los SubItem.
12
« en: Lunes 18 de Marzo de 2002, 00:23 »
Hola
La lista de un ComboBox o DbCombo es una matriz de tipo String, no puedes hacer aparecer dos listas, el único recurso que te queda, si quieres mostrar mas de un dato es concatenando estos. Es decir, hacer que aparezcan los datos como si de un único valor de cadena se tratase.
Ejemplo:
Combo1.AddItem Valor1 & " " & Valor2
Saludos.
13
« en: Lunes 18 de Marzo de 2002, 00:16 »
Hola
Guarda los iconos en un imagelist
itm es un objeto de tipo Item para añadir al ListView
'Asigna el control ImageList al ListView ListView1.Icons = ImageList1
Set itm = ListView1.ListItems.Add(, , "Texto")
' Establece el Icono 1 del ImageList1 itm.Icon = 1
Saludos.
Páginas: [1]
|
|
|