Autor
|
Tema: [Source] MakeSkin - Crea un formulario con la forma que desees (Leído 5,290 veces)
|
Mad Antrax
|
Encontré hace tiempo esta función, no la he programado yo. Sirve para dar forma a los formularios según la imagen de fondo que tengan, solo tienes que decirle que color será el usado para las transparencias, ejemplo: vbWhite, vbBlack, vbRed, etc... 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 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 Private Sub Form_Load() 'Llamamos a la función, enviamos el nombre del Form y el Color de fondo MakeSkin Form1, vbWhite End Sub Private Sub MakeSkin(ByVal Frm As Form, ByVal BColor As Long) 'Función que "recorta" un formulario según su color de fondo. Frm.BackColor = BColor Tmp = GetWindowLong(Frm.hwnd, -20) Tmp = Tmp Or &H80000 SetWindowLong Frm.hwnd, -20, &H80000 SetLayeredWindowAttributes Frm.hwnd, BColor, 0, &H1 End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Permite mover el formulario al hacer click encima de él ReleaseCapture SendMessage Me.hwnd, &HA1, 2, 0& End Sub
Usar imagenes BMP y con solor de 32 bits, así no tendreis problemas... si os preocupa el tamaño final luego empaquetais con UPX y problema resuelto xD Saludos!!
|
|
« Última modificación: 21 Julio 2007, 19:52 pm por ||MadAntrax|| »
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
vivachapas
Desconectado
Mensajes: 612
|
muy buen code... enseguida lo pruebo!!!!
|
|
|
En línea
|
|
|
|
DrakoX
Desconectado
Mensajes: 191
|
no sabia q con tan pocas lineas, se podia lograr una fomra X para el fomr,
mcuhas gracias
salu2
|
|
|
En línea
|
|
|
|
karmany
|
Muy bueno ||MadAntrax||.
Voy a ver si lo consigo hacer en MASM, ya que sólo utiliza API y es muy sencillo. Gracias
|
|
|
En línea
|
|
|
|
SERBice
|
se que este post es algo viejo, per mejor revivir eset antes que abrir otro ¿verdad?... nadie sabe como ahcer esto msimo pero con avrios colores... es decir, que en lugar de decirle que el color transparente es blanco, negro o cualqueir otro color le digamos que debe hacer transparente al naranja, el verde y el blanco por dar u ejemplo....
se podrá?....
|
|
|
En línea
|
|
|
|
Tughack
Desconectado
Mensajes: 490
|
se que este post es algo viejo, per mejor revivir eset antes que abrir otro ¿verdad?... nadie sabe como ahcer esto msimo pero con avrios colores... es decir, que en lugar de decirle que el color transparente es blanco, negro o cualqueir otro color le digamos que debe hacer transparente al naranja, el verde y el blanco por dar u ejemplo....
se podrá?....
Si claro, solo hay k ponerle mas colores. Private Sub Form_Load() 'Llamamos a la función, enviamos el nombre del Form y el Color de fondo MakeSkin Form1, vbWhite MakeSkin Form1, vbRed MakeSkin Form1, vbGreen MakeSkin Form1, vbBlue .... End Sub Salu2
|
|
|
En línea
|
|
|
|
MANULOMM
Desconectado
Mensajes: 559
Erepublik.com
|
esta bien bueno... gracias ||MadAntrax||
Atentamente,
Juan Manuel Lombana Medelín - Colombia
|
|
|
En línea
|
|
|
|
HALC12
Desconectado
Mensajes: 67
|
alguien me puede explicar que hace este codigo en si por que lo probe y solo coloca transparente el formulario y le coloque una imagen de fondo y no paso nada de nada
|
|
|
En línea
|
|
|
|
|
SERBice
|
se que este post es algo viejo, per mejor revivir eset antes que abrir otro ¿verdad?... nadie sabe como ahcer esto msimo pero con avrios colores... es decir, que en lugar de decirle que el color transparente es blanco, negro o cualqueir otro color le digamos que debe hacer transparente al naranja, el verde y el blanco por dar u ejemplo....
se podrá?....
Si claro, solo hay k ponerle mas colores. Private Sub Form_Load() 'Llamamos a la función, enviamos el nombre del Form y el Color de fondo MakeSkin Form1, vbWhite MakeSkin Form1, vbRed MakeSkin Form1, vbGreen MakeSkin Form1, vbBlue .... End Sub Salu2 parece que no has analizado el code. el code le da a la propiedad "BackgroundColor" el valr del color que se quiere ocultar y asi; se oculta todo el form, incluyento el color clando de la imagen de fondo (o el color que se elija), si opnes varias lineas como tu indicas el code no funciona, ya que primero se le indica un color, luego otro y asi sucesivamente y el codigo por decirlo de alguna manera, se auto-anula. asi p0ues, no funciona como tu dices, igualmente agradezco tun interes. si alguien sabe la forma de hacer esto, pero con multiples colores os agradeceria.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
cambiar la forma normal de un formulario a circulo
.NET (C#, VB.NET, ASP)
|
_-Javier-_
|
4
|
4,583
|
24 Enero 2011, 22:51 pm
por Karcrack
|
|
|
[SOURCE] Letras3D7913 Funcion que crea letras 3D Flasheras
Programación Visual Basic
|
79137913
|
1
|
3,367
|
26 Mayo 2011, 02:06 am
por Edu
|
|
|
Dream:On, Aplicación experimental de iOS que te permitiría soñar lo que desees
Foro Libre
|
1mpuls0
|
4
|
2,957
|
22 Abril 2012, 09:41 am
por 1mpuls0
|
|
|
China crea una planta solar de 250 acres con forma de Panda
« 1 2 3 4 5 »
Foro Libre
|
MCKSys Argentina
|
42
|
21,043
|
12 Julio 2017, 10:00 am
por Orubatosu
|
|