|
703
|
Programación / Programación Visual Basic / WebBrowser de Mosilla Firefox (colaborar)
|
en: 19 Julio 2006, 05:32 am
|
Buenas estoy terminado con un ocx que intenta (solo lo intenta) parecer al control WebBrowser solo que este utilizaría el de Mosilla Firefox y no el de IExplorer, no es mas que una chapuza, pero esta algo interesante, pues el post es para que cada uno lo pueda probar y decirme si les funciono bien o no, ya que me encuentro con el problema de hallar la ruta de exacta de Firefox en el registro de Windows para las distintas PC que lo utilicen y sobretodo en las distintas versiones de Firefox , puede que sea algo en vano lo que intento pero si no pruebo…(: Dígamos que ya estaría terminado ya que por ahora no le encuentro mas vuelta, solo me faltaría ajustar bien cada cosa e ir probando Como contras tiene muchas por sitar algunas Depende que se tenga instalado Firefox (como dije antes es no es mas que una chapuza) Solo cuenta con un evento, con lo cual muchas opciones no se tienen Y este algo inestable (por ahora) Por lo tanto me gustaría que ustedes vayan criticando a su gusto Si de una no funciona es porque no encontró el archivo ósea que daría un error 53 entonces si alguien se toma la molestia de decir con que versión de Firefox cuentan y en que lugar del registro de Windows les marca la ruta completa del ejecutable se los agradezco mucho Yo en mi caso tengo la versión 1.5.0.4 y funciona muy bien pero me han comentado que en algunas verciones funciona bien y en otras no Pueden descargarlo desde aquí y ya viene con un ejemplo http://ar.geocities.com/leandroascierto/Firefox.zipUna Imagen (del ejemplo) Espero sus Experiencia Saludos
|
|
|
704
|
Programación / Programación Visual Basic / Nuevo Boton GorditoButton.ocx
|
en: 10 Junio 2006, 00:29 am
|
Nuevo Boton GorditoButton.ocx Hola este es mi primer Ocx y se trata de un botón con nuevas formas, tiene varias propiedades entre ellas • Un efecto de Transparencia o texturizado • Actuar como CheckButoon • Reproducir un Gif (no es muy avanzado ya que algunos no los reproduce) • Reproducir un wav (para crear un efecto de sonido) • Mover un texto en forma de marquesina • Abrir una Url o archivo • Poder crear nuevas formas de botones El Ocx Trae por defecto 6 formas diferentes de botones pero se les puede crear nuevas formas, cambiar el color, intensidad de color, fuente, etc. Si bien me quedaron algunas cositas para corregir creo que esta muy bien, mas adelante para la versión 1.0.0.2 se corregirán. Y sepan disculpar si hay errores de ortografía ya que enzima que soy malo en castellano me la jugué a poner las propiedades en ingles Este obviamente consumirá un poco mas de recursos que un botón normal pero el que quiere vista que le cueste Quiero agradecer a todos los que me ayudaron cuando preguntaba en el foro especialmente a Luciano y [EX3] dos grandes amigos de www.canalvisualbasic.netEl Ocx viene acompañado de un ejemplo bien explicado y un archivo bat para que se les haga mas fácil registrar el Ocx Así que ¡¡Atención!! (para que no digan que no anda) antes de probar el ejemplo primero ejecutar el archivo register.bat para registrar el Ocx Bueno espero les guste y ayuden opinado para corregir los detalles que falten para así poder terminarlo (uno de ellos es el Accesskeys que ya masomenos lo tengo encaminado) El link para descargarlo http://ar.geocities.com/leandroascierto/Gorditobutton.zipAlgunos ScreenShot
|
|
|
705
|
Programación / Programación Visual Basic / Re: Reproducir mp3 pero de una manera particular
|
en: 9 Junio 2006, 03:47 am
|
hola la solucion y esta provada que funciona es utilizar el api GetShortPathName te paso un ejemplo despues vos lo adaptas Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long Public Function GetShortPath(strFileName As String) As String Dim lngRes As Long, strPath As String 'Create a buffer strPath = String$(165, 0) 'retrieve the short pathname lngRes = GetShortPathName(strFileName, strPath, 164) 'remove all unnecessary chr$(0)'s GetShortPath = Left$(strPath, lngRes) End Function Private Sub Form_Load() MsgBox GetShortPath("C:\Archivos de programa") End Sub
|
|
|
707
|
Programación / Programación Visual Basic / AlphaBlend traer desde otra ventana
|
en: 11 Mayo 2006, 04:43 am
|
LeandroA LeandroA is online now Registrado: abr 2005 Mensajes: 171 AlphaBlend traer desde otra ventana Hola tengo un problema y no le encuentro la vuelta estoy usando el api AlphaBlend (en esta pagina hay un ejemplo) bien a la hora de usarlo con dos pictures en el mismo form, funciona bien, pero yo intento traer el efecto de transparencia desde otro lugar por ejemplo form2.hdc y digamos que funciona pero el problema viene que esta ventana deve estar visible cosa que si lo ago con los dos pictures del mismo formulario no es nesesario, si pruevan el ejemplo que pongo a continuacion veran que si superpongo el form1 sobre el form2 este tomara el efecto de transparencia tomara parte del form1 o cualquier cosa que se sobreponga sobre el form2 entonces no encuentro la solucion para evitar esto, quizas y no soy muy entendido en el tema sea nesesario aplicar algun Byval pero estoy perdido para provar agreguen tres picture , dos formularios y command1 Option Explicit
'Cada control debe tener una imagen, ambas deben ser distintas Const AC_SRC_OVER = &H0 Private Type BLENDFUNCTION BlendOp As Byte BlendFlags As Byte SourceConstantAlpha As Byte AlphaFormat As Byte End Type Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal BLENDFUNCT As Long) As Long Private Declare Sub RtlMoveMemory Lib "kernel32.dll" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub Command1_Click()
Dim BF As BLENDFUNCTION, lBF As Long
'Cambiar el modo gráfico para que se mantenga la imagen Picture1.AutoRedraw = True Picture2.AutoRedraw = True Picture3.AutoRedraw = True
Picture1.ScaleMode = vbPixels Picture2.ScaleMode = vbPixels Picture3.ScaleMode = vbPixels Form2.ScaleMode = vbPixels 'asignar los parámetros With BF .BlendOp = AC_SRC_OVER .BlendFlags = 0 .SourceConstantAlpha = 128 .AlphaFormat = 0 End With
'copia la función blend a una variable en memoria de tipo long RtlMoveMemory lBF, BF, 4
'aplicar la Api desde la picture1 sobre la picture2 AlphaBlend Picture2.hdc, 50, 0, 100, 100, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, lBF Picture2.Refresh 'aplicar la Api desde la form2 sobre el picture3
'********** aca se me complica la cosa************** AlphaBlend Picture3.hdc, 50, 0, 100, 100, Form2.hdc, 0, 0, Form2.ScaleWidth, Form2.ScaleHeight, lBF Picture3.Refresh End Sub
Private Sub Form_Load() Form2.Show Form2.BackColor = vbRed End Sub
|
|
|
710
|
Programación / Programación Visual Basic / Re: Abrir solo dos instancias de mi programa
|
en: 27 Marzo 2006, 20:37 pm
|
te paso el code, fijate que para que funcione primero tenes que generar el exe Option Explicit Const TH32CS_SNAPHEAPLIST = &H1 Const TH32CS_SNAPPROCESS = &H2 Const TH32CS_SNAPTHREAD = &H4 Const TH32CS_SNAPMODULE = &H8 Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE) Const TH32CS_INHERIT = &H80000000 Const MAX_PATH As Integer = 260 Private Type PROCESSENTRY32 dwSize As Long cntUsage As Long th32ProcessID As Long th32DefaultHeapID As Long th32ModuleID As Long cntThreads As Long th32ParentProcessID As Long pcPriClassBase As Long dwFlags As Long szExeFile As String * MAX_PATH End Type Private Declare Function CreateToolhelp32Snapshot Lib "Kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long Private Declare Function Process32First Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Private Declare Function Process32Next Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)
Private Sub Form_Load() Comprovar End Sub
Sub Comprovar() Dim hSnapShot As Long, uProcess As PROCESSENTRY32, r As Long, Contador As Integer hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&) uProcess.dwSize = Len(uProcess) r = Process32First(hSnapShot, uProcess) Dim Proceso As String Do While r Proceso = Left$(uProcess.szExeFile, IIf(InStr(1, uProcess.szExeFile, Chr$(0)) > 0, InStr(1, uProcess.szExeFile, Chr$(0)) - 1, 0)) If UCase(App.EXEName & ".exe") = UCase(Proceso) Then Contador = Contador + 1 If Contador > 2 Then End End If r = Process32Next(hSnapShot, uProcess) Loop CloseHandle hSnapShot End Sub
|
|
|
|
|
|
|