Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 03.09.2009
Сообщений: 7

Как сделать форму прозрачной

26.10.2009, 09:32. Показов 1566. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто знает, можно ли на VB5.0 сделать цвет формы прозрачным?
Заранее благодарен !!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.10.2009, 09:32
Ответы с готовыми решениями:

Как сделать форму прозрачной?
Подскажите неумному, как сделать форму прозрачной (например для логотипа...)

Как сделать форму прозрачной ?
fd

Как сделать форму UserControl`a прозрачной?
При создании своего ActiveX Control`a есть необходимость сделать его форму прозрачной, чтобы видны были только компоненты нанесенные на...

1
VladK
28.10.2009, 21:01
1. Внутри Moдуля:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Option Explicit
 
Declare Function GetWindowRect Lib 'user32' (ByVal hwnd As Long, lpRect As RECT) As Long
Declare Function GetClientRect Lib 'user32' (ByVal hwnd As Long, lpRect As RECT) As Long
Declare Function CombineRgn Lib 'gdi32' (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Declare Function CreateRectRgn Lib 'gdi32' _
(ByVal X1 As Long, ByVal Y1 As Long, _
ByVal X2 As Long, ByVal Y2 As Long) As Long
 
Declare Function ScreenToClient Lib 'user32' _
(ByVal hwnd As Long, lpPoint As POINTAPI) As Long
 
Declare Function SetWindowRgn Lib 'user32' _
(ByVal hwnd As Long, ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long
 
Public Const RGN_AND = 1
Public Const RGN_COPY = 5
Public Const RGN_DIFF = 4
Public Const RGN_OR = 2
Public Const RGN_XOR = 3
 
Type POINTAPI
    X As Long
    Y As Long
End Type
 
Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
 
Public Sub MakeTransparent(frm As Form)
    
    Dim rctClient As RECT, rctFrame As RECT
    Dim hClient As Long, hFrame As Long
 
    '// Grab client area and frame area
    GetWindowRect frm.hwnd, rctFrame
    GetClientRect frm.hwnd, rctClient
 
    '// Convert client coordinates to screen coordinates
    Dim lpTL As POINTAPI, lpBR As POINTAPI
 
    lpTL.X = rctFrame.Left
    lpTL.Y = rctFrame.Top
    lpBR.X = rctFrame.Right
    lpBR.Y = rctFrame.Bottom
    
    ScreenToClient frm.hwnd, lpTL
    ScreenToClient frm.hwnd, lpBR
 
    With rctFrame
        .Left = lpTL.X
        .Top = lpTL.Y
        .Right = lpBR.X
        .Bottom = lpBR.Y
    End With
    
    With rctClient
        .Left = Abs(rctFrame.Left)
        .Top = Abs(rctFrame.Top)
        .Right = rctClient.Right + Abs(rctFrame.Left)
        .Bottom = rctClient.Bottom + Abs(rctFrame.Top)
    End With
    
    With rctFrame
        .Right = rctFrame.Right + Abs(rctFrame.Left)
        .Bottom = rctFrame.Bottom + Abs(rctFrame.Top)
        .Top = 0
        .Left = 0
    End With
    
    '// Convert RECT structures to region handles
    hClient = CreateRectRgn(rctClient.Left, rctClient.Top, rctClient.Right, rctClient.Bottom)
    hFrame = CreateRectRgn(rctFrame.Left, rctFrame.Top, rctFrame.Right, rctFrame.Bottom)
 
    '// Create the new 'Transparent' region
    CombineRgn hFrame, hClient, hFrame, RGN_XOR
 
    '// Combine the regions of the controls
    '// on the form with the 'transparent' region.
    Dim C As Control, rctControl As RECT, hControl As Long
    For Each C In frm
        On Error Resume Next
       '// Get the control's area
        GetWindowRect C.hwnd, rctControl
        
        '// Convert to client coordinates
        lpTL.X = rctControl.Left
        lpTL.Y = rctControl.Top
        lpBR.X = rctControl.Right
        lpBR.Y = rctControl.Bottom
        
        ScreenToClient frm.hwnd, lpTL
        ScreenToClient frm.hwnd, lpBR
        
        With rctControl
            .Left = lpTL.X + rctClient.Left
            .Top = lpTL.Y + rctClient.Top
            .Right = lpBR.X + rctClient.Left
            .Bottom = lpBR.Y + rctClient.Top
        End With
 
        hControl = CreateRectRgn(rctControl.Left, rctControl.Top, rctControl.Right, rctControl.Bottom)
        CombineRgn hFrame, hControl, hFrame, RGN_OR
    Next C
 
    '// Now lock the window's area to this created region
    SetWindowRgn frm.hwnd, hFrame,
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2009, 21:01
Помогаю со студенческими работами здесь

Как сделать форму dockable?
Как сделать форму dockable? В приложениях SDI и MDI.

Как сделать форму always on top?
Спасибо!

Как сделать форму главной
Допустим я создал проект написал на 1 форме кодик и решил сделать прогу на 3 формы.Сделал 2 форму,но понял ,что мне нужно сделать 3 форму...

Как сделать форму с 'вкладками'?
Подскажите, пожалуйста, как сделать форму с 'вкладками' - так, как это сделано в окошках свойств всех виндов (чтобы нажать на вкладку и в...

Как сделать форму в Excel в которую нужно вывести данные из Sheet-а, а затем пустить эту форму на принтер?
Как сделать форму в Excel в которую нужно вывести данные из Sheet-а, а затем пустить эту форму на принтер. Я новичок в этом деле. Спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru