Manipular barra de titulo

23/09/2006 - 19:50 por Ivan | Informe spam
Hola a todos

tengo varias dudas respecto a la barra de titulo de xcel, por un lado,
y de los formularios por otro.

1.- con excel

a) -> estoy cambiando (intentando cambiar) el titulo de la ventana de
determinado libro, De momento he probado con:

ThisWorkbook.Windows.Application.Caption = "Titulo que quiero"

y consigo quitar el "Excel" de la barra, pero me pone: "Titulo que
quiero - Nombre libro" en vez de "Titulo que quiero" a secas. He
probado con:

ThisWorkbook.Windows.Application.Caption = ""

Para poner solo el nombre del libro, pero me vuelve a poner el "Excel".
La verdad es que esto no es demasiado problema, pues supongo que podria
poner:

ThisWorkbook.Windows.Application.Caption = "Titulo que" y llamar
al libro: "quiero", e imagino que apareceria: "Titulo que ¿-? quiero"
que me valdria, pero me imagino que debe haber alguna forma de hacerlo
sin esta 'trampa'

b) -> ¿es posible quitar el icono de excel?, no he conseguido
encontrar la propiedad que lo permita.

2.- con formularios:

-> ¿se pueden colocar en la barra de titulo de un formulario los
botones de maximizar/minimizar?, y si es asi, ¿donde puedo empezar a
buscar?

Si poodeis ayudarme os lo agradezco

Un saludo y hasta pronto
Ivan
 

Leer las respuestas

#1 moon
23/09/2006 - 22:01 | Informe spam
"Ivan" schreef in bericht
news:
Hola a todos

tengo varias dudas respecto a la barra de titulo de xcel, por un lado,
y de los formularios por otro.

1.- con excel

a) -> estoy cambiando (intentando cambiar) el titulo de la ventana de
determinado libro, De momento he probado con:

ThisWorkbook.Windows.Application.Caption = "Titulo que quiero"

y consigo quitar el "Excel" de la barra, pero me pone: "Titulo que
quiero - Nombre libro" en vez de "Titulo que quiero" a secas. He
probado con:

ThisWorkbook.Windows.Application.Caption = ""

Para poner solo el nombre del libro, pero me vuelve a poner el "Excel".
La verdad es que esto no es demasiado problema, pues supongo que podria
poner:

ThisWorkbook.Windows.Application.Caption = "Titulo que" y llamar
al libro: "quiero", e imagino que apareceria: "Titulo que ¿-? quiero"
que me valdria, pero me imagino que debe haber alguna forma de hacerlo
sin esta 'trampa'

b) -> ¿es posible quitar el icono de excel?, no he conseguido
encontrar la propiedad que lo permita.

2.- con formularios:

-> ¿se pueden colocar en la barra de titulo de un formulario los
botones de maximizar/minimizar?, y si es asi, ¿donde puedo empezar a
buscar?

Si poodeis ayudarme os lo agradezco

Un saludo y hasta pronto
Ivan





Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA"
(ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As
Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA"
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal
lParam As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA"
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA"
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA"
(ByVal hWnd As Long, ByVal lpString As String) As Long


Private Sub UserForm_Initialize()

Dim hWnd, eWnd As Long
Dim hIcon As Long
Dim f_style As Long

'Form window
hWnd = FindWindow("ThunderDFrame", Me.Caption)

'Application window
eWnd = FindWindow("XLMAIN", Application.Caption)

'Grab the icon from shell32.dll...
hIcon = ExtractIcon(0, "SHELL32.DLL", 130)

'draw the icon
SendMessage hWnd, &H80, True, hIcon
SendMessage hWnd, &H80, False, hIcon

'Form caption
Me.Caption = "Excel form with Icon"

f_style = GetWindowLong(hWnd, -16)
f_style = f_style Or &H30000 'system toolbox
f_style = f_style Or &H20000 'minimize
f_style = f_style Or &H10000 'maximize

SetWindowLong hWnd, -16, f_style

'Application caption
SetWindowText eWnd, "test123"


End Sub

Preguntas similares