Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Кнопка произвольной формы!!!! Добавлено: 11.06.06 17:05  

Автор вопроса:  Chiper | ICQ: 253369339 
У кого нибудь есть примеры создания (простой) кнопки произволной формы с изображенным на ней рисунком?
Выручите...плззз..

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 11.06.06 23:31
блин да кинь Image на форму, и напиши ему событие Click...

Когда грузишь в Image прозрачную картинку (gif например) прозрачная картинка на форме получается именно прозрачная...

Ответить

Номер ответа: 2
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #2
Добавлено: 12.06.06 20:05
Можно обрезать края кнопки и добиться интересного эффекта.
Размеры кнопки установите 1500 на 500 и расположите в левом верхнем углу формы с координатами 0,0.
Попробуйте изменить цифры и посмотрите резуьтат.

Код:

Option Explicit

Private Declare Function _
    CreateEllipticRgn Lib "gdi32" _
    ;(ByVal X1 As Long, _
     ByVal Y1 As Long, _
     ByVal X2 As Long, _
     ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn _
    Lib "user32" (ByVal hWnd As Long, _
    ByVal hRgn As Long, _
    ByVal bRedraw As Long) As Long
Private Declare Function CreatePolygonRgn _
    Lib "gdi32" (lpPoint As Koor, _
    ByVal nCount As Long, _
    ByValnPolyFillMode As Long) As Long
Private Type Koor
   X As Long
   Y As Long
End Type


Private Sub Form_Load()
Dim MakeCircle As String
MakeCircle = CreateEllipticRgn _
    ;(100 / Screen.TwipsPerPixelX, _
     100 / Screen.TwipsPerPixelY, _
     1400 / Screen.TwipsPerPixelX, _
     400 / Screen.TwipsPerPixelY)
Call SetWindowRgn(Command1.hWnd, MakeCircle, True)
End Sub


Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 13.06.06 05:22
да сложно таким макаром непростую фигуру вырисовывать...

Ответить

Номер ответа: 4
Автор ответа:
 Telishev S



Вопросов: 11
Ответов: 44
 Web-сайт: tsa-molotoff.jino-net.ru
 Профиль | | #4
Добавлено: 11.08.06 19:02
Ищи в гугле cmdGrafButton
3 рисунка для нажатого, овер и простого состояния.

Ответить

Номер ответа: 5
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #5
Добавлено: 12.08.06 08:14
Поиграй цифрами, разный эффект...

Option Explicit

Private Declare Function CreateEllipticRgn Lib "gdi32" _
    ;(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, _
     ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, _
    ByVal hRgn As Long, ByVal bRedraw As Long) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As Koor, _
    ByVal nCount As Long, ByValnPolyFillMode As Long) As Long
Private Type Koor
   X As Long
   Y As Long
End Type


Private Sub Form_Load()
Dim MakeCircle As String
MakeCircle = CreateEllipticRgn(100 / Screen.TwipsPerPixelX, _
     100 / Screen.TwipsPerPixelY, 1400 / Screen.TwipsPerPixelX, _
     400 / Screen.TwipsPerPixelY)
Call SetWindowRgn(Command1.hWnd, MakeCircle, True)
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 12.08.06 13:05
1. регионы это просто :)
2. края будут не ровными :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам