Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

got_r00t?

Imagem de fundo numa RichTextBox

Mensagens Recomendadas

got_r00t?    0
got_r00t?

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Joca    0
Joca

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.

This property is not relevant to this class.

http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.backgroundimage.aspx

Ou seja, não podes usar esta propriedade para a richtextbox, e ela existe porque é herdada da classe Control.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
got_r00t?    0
got_r00t?

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

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade