Feb 142020
 

Antes que nada quiero aclarar que este control está basado el proyecto Firenze Label, adaptado a GDI+ con muchos agregados ya que el anterior depende de vbRichClient5. Tienen muchas propiedades y eventos que más adelante voy a ir detallando, por el momento voy a subir el control con unos cuantos ejemplos y otros controles que acompañan. Se pueden lograr cosas muy lindas con este control, sólo es cuestion de ir jugando con sus propiedades, se puede crear muchos controles a partir de este label es cuestión de poner un poco de imaginación. Aclaro que no actúa como un control programado, es un label no un botón por lo que está en el desarrollador dar la forma en que se repinta el label cuando se dispara el mouse Down y Up y demás eventos.

Algunas capturas de lo que se puede lograr con el LabePlus LabelPlus.png LabelPlus.png LabelPlus.png LabelPlus.png LabelPlus.png ------------------------------------------------------------------------------------------------------- Descargar la versión 1.5.4, ultima actualización 21/12/2021

 Posted by at 13:25

  30 Responses to “LabelPlus”

  1. Excelente control Leandro. Gracias por crearlo. Con esto las aplicaciones tendrán una interfaz mas modernas.

  2. Por qué manda error despues de crear el exe?

    • hola Paulo tengo un error con el PD_icons.RES al crear el manifest, pero nada que ver con LabelPlus, el archivo Res es únicamente para activar la compatibilidad con el DPI del sistema. en cuanto solucione ese problema resubo todos los ejemplos mas una actualizacion en camino.

      • Muchas gracias Leandro, te dejo el detalle técnico del error por si te es de utilidad.

        =================
        Iniciar generación de contexto de activación.
        Parámetro de entrada:
        Flags = 0
        ProcessorArchitecture = Wow32
        CultureFallBacks = es-ES;es;en-US;en
        ManifestPath = C:\LabelPlus\Animate buttons\Proyecto1.exe
        AssemblyDirectory = C:\LabelPlus\Animate buttons\
        Application Config File =
        —————–
        INFORMACIÓN: analizando archivo de manifiesto C:\LabelPlus\Animate buttons\Proyecto1.exe.
        INFORMACIÓN: la identidad de definición del manifiesto es VB Name,processorArchitecture=»X86″,type=»win32″,version=»7.1.0.631″.
        INFORMACIÓN: referencia: Microsoft.Windows.Common-Controls,language=»*»,processorArchitecture=»X86″,publicKeyToken=»6595b64144ccf1df»,type=»win32″,version=»6.0.0.0″
        ERROR: línea 37: error de sintaxis XML.
        ERROR: error de generación de contexto de activación.
        Finalizar generación de contexto de activación.

  3. Saudações do Brasil. Muito interessante o componente, parabens.
    Em runtime funciona, mas ao compilar dá o erro:

    PT
    “O aplicativo falhou ao iniciar porque a configuração lado a lado está incorreta, consulte o log de eventos do aplicativo ou use a ferramenta de linha de comando sxstrace.exe para obter mais detalhes.”

    EN
    «The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.»

  4. Hola. Soy nueva en todo esto. He descargado el ejemplo de LABELPLUS y quizas sea una pregunta absurda pero no se como se puede hacer. En el ejemplo que simula la pantalla de AVG antivirus…. como se cambia el logo del antivirus AVG o como se cambia por ejemplo el icono del monitor de ordenador en el primer cuadro, donde pone equipo. Gracias – MARTA –

  5. Excelente! Leandro, como podría adaptarse el efecto acrylic con el fondo de escritorio, para hacer un Widget, y obtener un efecto parecido al aero. Estuve viéndolo, pero no encontré la forma. Gracias

    • Hola Elihu no se si ya has visto el api SetWindowCompositionAttribute, con esta puedes crear ese efecto tal como lo hace windows, hay algunos ejemplos dando vuelta en la web, cuado la pruebes te encontraras con algunas contras ya que la mayoria de los controles se transparentan, no seria el caso para este LabelPlus que en un principio lo hice con esa intención.
      ahora bien quizas ya conocias el api SetWindowCompositionAttribute y me preguntas si he intentado replicar el efecto, y la respuesta es si, pero me encontre que en windows 10 y quizas en 8 cambiaron unas cosas, antes podias llamar a la api GetDC y Stretchblt y si la ventana a la que querías aplicar el efecto tenia el estilo WS_EX_TRANSPARENT o creo WS_EX_LAYERED podías capturar el fondo/parte trasera de la ventana y asi crear el mismo efecto, por supuesto aplicar el blur por parte de gdi+ o con algún algoritmo echo para aplicar el efecto blur a una imagen. y ya por último pintarlo sobre la ventana. en fin ya mucho mas complicado pero se podia lograr otros efectos, la cuestion es que con windows 10 ya no se puede capturar. te recomiendo veas el api SetWindowCompositionAttribute y si estas en win7 DwmExtendFrameIntoClientArea

      • Si, de hecho pensé que si fuera posible, se podría personalizar mas el widget, y se podría manejar mejor propiedades como el color, nivel de transparencia, porcentaje de blur, nivel de sombra, etc. 🙂

  6. Excelente trabajo Leandro .!!!!
    me gustaria hablar unos minutos con vos.
    Estas en Argentina ?
    Saludos
    Diego Ponce

  7. Hola Diego perdon un poco tarde lei el comentario enviame un msg privado en el foro o un mensage desde el formulario de contacto.

  8. Hi Leandro,
    You’ve done an amazing VB6 control here. I would like to ask if this control can be freely used on a commercial VB6 application to achieve a modern UI design?

  9. Desafortunadamente, la herramienta no es compatible con RTL.

  10. Hi Leandro,
    Thank you for the great work you do.
    I live in Iran and thousands of miles away from you.
    I have been familiar with Visual Basic since 1998, but after Visual Studio .NET, I did not take Visual Basic seriously anymore and focused more on VBA, because I thought VB6 was over. Now, after seeing your valuable work on VB6, I realized that I was wrong. I learned a lot from your work. I also started Basic for Android after visiting your site.
    Thank you very much.

  11. Hola, no se porque cuando el LabelPlus se pone en un formulario con un objeto para hacer la función Drag and Drop esta funcion queda deshabilitada, no se si hay algo en el objeto LabelPlus que desactiva la función en todo el formulario.
    Alguna solución para el problema. Saludos

    • Hola Juan probé drag&dropp un ejemplo con un texto y todo bien, podrías subir algún ejemplo para ver bien donde esta el problema, porque no consigo replicarlo.

  12. Hola Leandro, gracias por responder.
    He hecho pruebas más concluyentes y no se porque es debido a que estoy en Win11 64 bits y VB6 32bits en este SO se tiene que ejecutar si o si en modo administrador.
    Si no da error.
    Cuando estoy en VB6 y ejecuto la aplicación el Drag&Drop no funciona (deduzco que como VB6 arranca en modo Admin), ahora bién si compilo la aplicación para obtener el ejecutable funciona correctamente siempre y cuando no ejecute la aplicación en modo Administrador si no pasa lo mismo.
    ¿Porque puede ser debido?
    Saludos.

    • haaa ese es un problema de permisos nada que ver con el labelplus, una aplicación que corre como admin no puede recibir drag&drop de una que no corre como Admin, si lo probas compilado y correo con los privilegios normales, te fa a funcionar bien, pero en el ide no ya que lo ejecutas como Admin.

      Saludos.

      • Muchas gracias Leandro Ascierto, buen trabajo el que haces. Saludos

      • Leandro Ascierto,me parece que no me has entendido o no me expliqué bién, no estoy haciendo Drag&Drop en el objeto ‘LabelPlus’.
        En el mismo formulario tengo el objeto ‘Uclist’ que es el que recibe Drag&Drop también se ejecuta VB6 en modo admin y todo correcto deja arrastrar archivos etc..,
        pero cuando pongo ‘LabelPlus’ en el formulario ya no deja hacer Drag&Drop en ‘Uclist’.
        Saludos

        • Que raro, no logro replicarlo, tome el ejemplo de drag&drop del ucList, agregue un labelplus al formulario y todo funciona bien osea arrastro y suelto de un uclist a otro sin problemas, dame mas detalles o alguna forma que pueda replicarlo.

        • Hola Leandro Ascierto, donde te podria enviar el fichero ‘DragDrop.bas’ para que lo insertes en tú projecto.

      • Hola Leandro Ascierto,
        Aquí te envio el link para que te descargues los dos ejemplos, una carpeta esta el ‘Uclist’ sin el objeto ‘LabelPlus’ y funciona, la otra lo mismo pero agregando el objeto ‘LabelPlus’ en el formulario y no funciona.
        Link de descarga: http://ul.to/29x8g0ga

        Gracias.

        • Hola Juan, ahi chequee el ejemplo y sucede lo que me comentabas, no había notado que DragAcceptFiles funcionaba bien desde el ide, yo use casi el mismo codigo en el NeumoPlayer y tampoco funciona desde el ide pero es un error de VB, esto lo hacer no solo con el labelplus, sino con cualquier ventana windowless, fijate si agregas un usercontrol vacío y pones windowless = true fijate que tampoco te deja arrastrar, lo bueno es que esto es solo en el ide, una vez compilado ya funciona todo bien, no probe si compilado el usercontrol como un ocx haría lo mismo en el ide, pero bueno ya con esto me quedo tranquilo que no es algún código interno de labelplus sino un error o alguna medida de seguridad de vb.

          • Muchas gracias Leandro Ascierto por Tú tiempo y paciencia, y haberme aclarado la duda, eres un crack sigue así. Saludos

  13. there is 3 problem maybe 1 and 2 are bugs?!! how can fix theme?

    1- how can use picture and hotline in same time? i did try for show correct image and hot line but its draw half picture.
    see this image :
    https://i.postimg.cc/Gh7jjM7p/bug.png

    2- how can show popup menu when right button clciked on some parent item without automatically expand,when i want rightclick on some parentnodes it will be expand automatically.

    i used this trick but its not work good.
    Private Sub navbar_Click(ByVal Item As Integer)

    ‘ ‘If navbar.NodeParentName(Item) = «» And navbar.NodeItemIndex(Item) = 3 Then or
    If navbar.NodeItemIndex(Item) = 3 Then
    If rightclickedonparent = True Then
    navbar.ExpandedNode(Item) = False
    ‘MsgBox «right clicked»
    End If
    End If

    End Sub

    Private Sub navbar_MouseDown(ByVal Item As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbRightButton And navbar.NodeItemIndex(Item) = 3 Then rightclickedonparent = True Else rightclickedonparent = False
    End Sub

    3-how can detect badge clicked on ucnavbar or change over color on badge,it js a picture drawed on dc.

    3-

    • Hello, point 1, the hotline is just a fine line to indicate a state, it is drawn internally at the end, therefore if it is higher than the image it will cover it, it is not intended for its purpose.

      for point 2, you will have to reach into the ucNavBar and modify part of its code, otherwise it is not possible, I did not take this purpose into account when developing it.

      for point 3 maybe with MouseMove or MouseMove you can through x,y get what part if you clicked

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)