Страница: 1 | 2 |
Вопрос: Прозрачные элементы в Бэйсике..
Добавлено: 03.04.06 20:32
Автор вопроса: Nj | ICQ: 223663115
Ответы
Всего ответов: 27
Номер ответа: 16
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #16
Добавлено: 05.04.06 20:36
Номер ответа: 17
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #17
Добавлено: 05.04.06 21:35
Тяжкая делема...
Где изучать на русском сабклассинг?
Номер ответа: 18
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #18
Добавлено: 06.04.06 02:03
Есть статья на vbrussian - я по ней осваивал. Ну и примеры - их на эту тему хватает и на этом сайте.
Номер ответа: 19
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #19
Добавлено: 06.04.06 19:29
Сэнкс и на том. Ссылку не подкинешь?
Номер ответа: 20
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #20
Добавлено: 06.04.06 20:50
Номер ответа: 21
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #21
Добавлено: 06.04.06 20:52
ой простите, незаметил вторую страницу, но заглянув сюда - обстановка не лучше
В интернете...
)
Номер ответа: 22
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #22
Добавлено: 06.04.06 21:40
2 HACKER - ценю твое внимание, но ещё лучше будет,
если ты станешь давать действительно полезные советы.
Номер ответа: 23
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #23
Добавлено: 07.04.06 04:48
Nj: просто, если ты не можешь побродить по инету сам, то так и надо говорить - так мол и так, сижу на далеко-не-халявном инете и не могли б вы мне денег сэкономить. На это откликнутся, а если ты решил на нас ВРЕМЯ экономить (типа, я человек занятой, вы мне ссылки дайте, тогда я буду учиться, а если нет, то хрен вам), то ты ничего хорошего не получишь.
Статьи от System'а:
http://www.vbrussian.com/Article.asp?ID=87
http://www.vbrussian.com/Article.asp?ID=90
Примеры надо качать все подряд - во многих из них реализован сабклассинг (в основном менюхи), только я не помню в каких именно. Кстати, контролы от sne - это вообще высший пилотаж на эту тему. Советую.
Номер ответа: 24
Автор ответа:
Beralus_
ICQ: 255004422
Вопросов: 0
Ответов: 14
Профиль | | #24
Добавлено: 07.04.06 15:35
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
------------------------------------------------
Et API funkcii pozvolyayut delat chego ti xotel (esli ya ponyal vas)
----------------------------------------
Номер ответа: 25
Автор ответа:
Beralus_
ICQ: 255004422
Вопросов: 0
Ответов: 14
Профиль | | #25
Добавлено: 07.04.06 15:41
Poprobuy goditsya li eto vam:
Option Explicit
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
Public Sub MakeTransparentForm(frm As Form)
Const RGN_DIFF = 4
Const RGN_OR = 2
Dim outer_rgn As Long
Dim inner_rgn As Long
Dim wid As Single
Dim hgt As Single
Dim border_width As Single
Dim title_height As Single
Dim ctl_left As Single
Dim ctl_top As Single
Dim ctl_right As Single
Dim ctl_bottom As Single
Dim control_rgn As Long
Dim combined_rgn As Long
If WindowState = vbMinimized Then Exit Sub
wid = ScaleX(Width, vbTwips, vbPixels)
hgt = ScaleY(Height, vbTwips, vbPixels)
outer_rgn = CreateRectRgn(0, 0, wid, hgt)
border_width = (wid - ScaleWidth) / 2
title_height = hgt - border_width - ScaleHeight
inner_rgn = CreateRectRgn( _
border_width, _
title_height, _
wid - border_width, _
hgt - border_width)
combined_rgn = CreateRectRgn(0, 0, 0, 0)
CombineRgn combined_rgn, outer_rgn, _
inner_rgn, RGN_DIFF
SetWindowRgn hWnd, combined_rgn, True
End Sub
Private Sub Form_Load()
MakeTransparentForm Me
End Sub
'Rad esli mog pomoch
Номер ответа: 26
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #26
Добавлено: 07.04.06 21:27
Beralus_, имхо, чуть-чуть не в тему
Номер ответа: 27
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #27
Добавлено: 07.04.06 22:39
2 Neco - сэнкс за ссылки и советы - я туда.
Но я вовсе не собираюсь ни на ком экономить и искать мне не в падлу )
Просто предполагается, что на форуме есть кто-то, у кого есть сохраненный линк в избранных, или кто часто бывает там, или кто знает где искать - почему бы и в поиске не помочь, если можешь. Лично я не гнушаюсь давать ссылки, которые я знаю... Ведь трудно искать то, от чего ты знаешь только название.
2 Beralus_
Большое спасибо, этот код мне пригодится, даже очень
Полезная страница, под сэйв.