Autor
|
Tema: Pequeña duda! (Leído 1,260 veces)
|
klaususkun
Desconectado
Mensajes: 24
|
Hola tengo una pequeña duda... Se algo de visual basic lo mas basico... sin uso de ocx ni apis ... he hecho tonterias con textbox comnandbutons imagenes etiquetas etc...
Y ahora viene mi duda tras estar trasteando asi en plan probando conocimiento basicos queria probar a hacer un programita enserio y me asalta una gran duda...
Seria posible crear un programa el cual no dispusiera de la barra tipica superiora donde esta el cerrar etc...? NO ME REFIERO A QUITAR EL MAXIMIZAR, MINIMIZAR, CERRAR. Para que me entendais mejor imaginaros que quiero hacer un programa el cual al abrirlo me dibuja un monigote en la pantalla (no dentro de un programa, sino por ejemplo encima de la barra de incio del windows)
No se si me he explicado muy bien ToT Si siquen sin entenderme tratare de explicarselo graficamente poniendo ejemplos de programas ya existentes (pero que obiamente no estan hechos en Vbasic o eso creo..)
|
|
|
En línea
|
|
|
|
CesarTkgo69
Desconectado
Mensajes: 19
|
Creo que es esto lo que buscas Suerte, Saludos Const LWA_COLORKEY = &H1 Const GWL_EXSTYLE = (-20) Const WS_EX_LAYERED = &H80000 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 SetLayeredWindowAttributes Lib "user32.dll" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Private Sub Form_Load() Shape Me, &H0& ' Al cargar el formulario, se quita el color indicado, en este caso el negro End Sub Private Sub Shape(Frm As Form, Color As Long) Frm.BackColor = Color Dim Ret As Long Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE) Ret = Ret Or WS_EX_LAYERED SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret SetLayeredWindowAttributes Me.hWnd, Color, 0, LWA_COLORKEY End Sub
Chauuuuz
|
|
« Última modificación: 9 Enero 2008, 03:51 am por CesarTkgo69 »
|
En línea
|
|
|
|
klaususkun
Desconectado
Mensajes: 24
|
Esta muy curioso ese script y se asemeja mucho pero no es 100% lo que quiero ya que el scrip que me has puestoal ejecutarlo me sale la ventana del formulario con sus bordes y la barra de arriva con el minimizar maximiza y cerrar pero lo k es dentro del formulario genial xk es transparente n_n Si se puediera quitar el borde (y en ello incluyo la barra superiora donde esta el titulo y el ya repetido minimizar,maximizar y cerrar seria perfercto!!) Ejemplo: Perdon si la imagen es algo grande ^^UU
|
|
« Última modificación: 10 Enero 2008, 03:01 am por klaususkun »
|
En línea
|
|
|
|
CesarTkgo69
Desconectado
Mensajes: 19
|
Pero viejito, El form en estilo de borde tiene que estar en "none" esto aparece justo arribita de donde le pones el Caption al form ojala lo veas Para que quede mas claro (y aprovechando el rato de ocio ) Y por si acaso, te posteo altiro la funcion para mover el form Option Explicit ' Libreria mover Formulario Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function ReleaseCapture Lib "User32" () As Long ' Mover el Form Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) ReleaseCapture SendMessage Me.hWnd, &HA1, 2, 0& End Sub
Saludos, Chauuuz
|
|
« Última modificación: 10 Enero 2008, 05:42 am por CesarTkgo69 »
|
En línea
|
|
|
|
klaususkun
Desconectado
Mensajes: 24
|
Muchisimas Gracias tio!! No me di cuenta de lo del border ^^UU
y gracias pos el ultimo codigo tb aunk no creo que use el de moverse ya que deseo que este fijo en un determinado sitio a si que me viene al pelo ^o^
Muchas gracias ^^
|
|
|
En línea
|
|
|
|
|
|