Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Как закруглить края формы в VB6? Добавлено: 23.11.08 19:52  

Автор вопроса:  chanchikela
Как закруглить края формы в VB6
Заранее благодарю,

Ответить

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

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



ICQ: 216390557 

Вопросов: 25
Ответов: 71
 Web-сайт: microsoft.com
 Профиль | | #1
Добавлено: 23.11.08 20:56
Либо придавать форме вид геометрической фигуры
Либо делать форму с прозрачностью определенного цвета
GDI32 API Rulezz 4ever!

Ответить

Номер ответа: 2
Автор ответа:
 chanchikela



Вопросов: 12
Ответов: 21
 Профиль | | #2 Добавлено: 23.11.08 21:04
Поделитесь с обоими примерами если не трудно

Ответить

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



Вопросов: 71
Ответов: 112
 Web-сайт: www.werbersoft.ru
 Профиль | | #3
Добавлено: 24.11.08 00:02
Скачай отсюда (http://dl.softportal.com/load/formgenerator.zip) прогу. Она решит это проблему раз и навсегда!

Ответить

Номер ответа: 4
Автор ответа:
 chanchikela



Вопросов: 12
Ответов: 21
 Профиль | | #4 Добавлено: 24.11.08 18:48
10ks

Ответить

Номер ответа: 5
Автор ответа:
 Лёха



Вопросов: 18
Ответов: 34
 Web-сайт: www.arhninja.narod.ru
 Профиль | | #5
Добавлено: 28.11.08 09:57
А кто нибудь может перевести это на VB http://www.netcode.ru/cpp/?lang=&katID=16&skatID=153&artID=4880 ? Особо интересна часть про сложные регионы.

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 28.11.08 18:24
  1. Option Explicit
  2. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  3. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  4. Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  5. Private Const LWA_ALPHA = &H2
  6. Private Const LWA_COLORKEY As Long = &H1
  7. Private Const GWL_EXSTYLE = (-20)
  8. Private Const WS_EX_LAYERED = &H80000
  9.  
  10. Public Sub SetTranspColor(ByVal hWnd As Long, ByVal color As Long)
  11. Call SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED)
  12. Call SetLayeredWindowAttributes(hWnd, color, 0, LWA_COLORKEY)  'делаем прозрачным цвет color
  13. End Sub
Я бы сделал через прозрачность цвета. Всё что не нужно на форме закрашиваем любым способом в цвет color, и вызываем SetTranspColor(hwnd,color)

Ответить

Номер ответа: 7
Автор ответа:
 Лёха



Вопросов: 18
Ответов: 34
 Web-сайт: www.arhninja.narod.ru
 Профиль | | #7
Добавлено: 29.11.08 11:54
Это ты немного не то написал. Мне интересно как сделать сложный регион на основе картинки. Посмотри статью там в конце делают форму в виде человеческой руки, а получают их сканируя подгруженную bmp.

Ответить

Номер ответа: 8
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #8
Добавлено: 30.11.08 19:35
Лёха, ну во-первых я написал на тему как закруглить края формы)
во-вторых, данный способ намного проще, чем сканирование картинки. Т.к. там в циклах ищутся пиксели определенного цвета и вырезаются, а здесь то же самое делается парой API вызовов

Ответить

Страница: 1 |

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



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