• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

got_r00t?

Imagem de fundo numa RichTextBox

8 mensagens neste tópico

Boas,

Alguém sabe como se pode colocar uma imagem de fundo numa RichTextBox ?

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já tentei, mas não consegui, o fundo continua a branco =/

Mostra lá como tentaste!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tentei destas formas

Dim instance As RichTextBox = minha_txtbox
Dim value As Image = Image.FromFile("fundo.jpg")

instance.BackgroundImage = value

minha_txtbox.BackgroundImage = minha_txtbox.BackgroundImage.FromFile("fundo.jpg") 

e por fim, tentei este exemplo, mas nao me esta a funcionar.

deve ser pq não tenho o Microsoft RichTextbox Control 6.0 (SP4)

da-me erro no .hwnd

Summary:
    - Add an imagebox on the form, called Image1, and set its picture property to a file that contains your picture.
    - Add a richtextbox, called RichTextBox1. (Assuming you are using the Microsoft RichTextbox Control 6.0 (SP4))
    - Move the richtextbox on top of the imagebox and bring it to front if not already.
    - Use API to make it transparent.

----------------------------------------------
In Module1:
    Option Explicit
   
    Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
        (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
        (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
   
    ' Window field offsets for GetWindowLong() and GetWindowWord()
    Public Const GWL_WNDPROC = (-4)
    Public Const GWL_HINSTANCE = (-6)
    Public Const GWL_HWNDPARENT = (-8)
    Public Const GWL_STYLE = (-16)
    Public Const GWL_EXSTYLE = (-20)
    Public Const GWL_USERDATA = (-21)
    Public Const GWL_ID = (-12)
   
    ' Extended Window Styles
    Public Const WS_EX_DLGMODALFRAME = &H1&
    Public Const WS_EX_NOPARENTNOTIFY = &H4&
    Public Const WS_EX_TOPMOST = &H8&
    Public Const WS_EX_ACCEPTFILES = &H10&
    Public Const WS_EX_TRANSPARENT = &H20&
   
----------------------------------------------
In Form1:
    Option Explicit
   
    Private Sub Form_Load()
        Dim LVal As Long
        Dim r As Long
   
        LVal = GetWindowLong(RichTextBox1.hwnd, GWL_EXSTYLE)
        r = SetWindowLong(RichTextBox1.hwnd, GWL_EXSTYLE, LVal Or WS_EX_TRANSPARENT)
    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Actualmente o "hwnd", em muitos dos casos, passou a chamar-se "handle".

O máximo que consegui foi isto:

Imports System.Runtime.InteropServices

Public Class Form1


    <DllImport("user32.dll")> _
Private Shared Function SetWindowLong( _
     ByVal hWnd As IntPtr, _
     ByVal nIndex As Integer, _
     ByVal dwNewLong As IntPtr) As Integer
    End Function


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.BackgroundImage = Image.FromFile("c:\MinhaImagem.bmp")

        SetWindowLong(RichTextBox1.Handle, -20, 32)

    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Actualmente o "hwnd", em muitos dos casos, passou a chamar-se "handle".

O máximo que consegui foi isto:

Imports System.Runtime.InteropServices

Public Class Form1


    <DllImport("user32.dll")> _
Private Shared Function SetWindowLong( _
     ByVal hWnd As IntPtr, _
     ByVal nIndex As Integer, _
     ByVal dwNewLong As IntPtr) As Integer
    End Function


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.BackgroundImage = Image.FromFile("c:\MinhaImagem.bmp")

        SetWindowLong(RichTextBox1.Handle, -20, 32)

    End Sub

ficou mesmo transparente, mas ainda tem uns bugs

Obrigado, vou ver se consigo alguma coisa  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora