Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
VB Как запустить программу через CreateProcess со стилем по умолчанию? Добрый вечер ! Подскажите, пожалуйста, данный код запускает калькулятор Windows. Внешний его вид выглядит как-то ущербно. Какие нужно задать атрибуты при запуске, чтобы он выглядел как другие стандартные приложения windows 7. Еще вопрос: lastDllError возвращает ERROR_NO_MORE_FILES (18). Это нормальный код возврата для CreateProcess ? https://www.cyberforum.ru/ visual-basic/ thread1228324.html Скачивание капчи - Сохранённая капча и капча в WebBrowser различаются VB
Мне надо скачать капчу с этого сайта http://profitcentr.com (нажмите на кнопку вход). Я пытался скачать так: Option Explicit Private Declare Function URLDownloadToFile Lib "urlmon" Alias _ "URLDownloadToFileA" (ByVal pCaller As Long, _ ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long Public Event...
VB Записать разговор с телефона Сейчас я серьезно занимаюсь платными программами, и есть вопрос в связи с этим, есть ли способ записать разговор в файлик, допустим мне позвонил клиент, автоответчик ответил что надо, пикнул тем самым предупредив и дав старт записи, и после этого надо начать программу записи, подскажите пожалуйста https://www.cyberforum.ru/ visual-basic/ thread1227934.html VB CommonDialog1 указать путь к папке https://www.cyberforum.ru/ visual-basic/ thread1227745.html
Здравствуйте. Не подскажите как указать путь. Делаю так приходится выбирать путь к файлу а мне нужно что бы путь к папке при выборе отображалась в text1 CommonDialog1.ShowOpen Text1.Text = CommonDialog1.FileName
На основе результатов экзаменационной сессии анализировать успеваемость группы студентов VB
Привет,помогите написать прогу Разработать проект, с помощью которого на основе результатов экзаменационной сессии можно анализировать успешность группы студентов. Для этого нужно разработать собственное диалоговое окно, где можно осуществлять ввод данных для анализа успеваемости студентов группы, а также просмотр результатов анализа. В программном коде должны быть предусмотрены проверка...
VB Не проигрывается файл из ресурсов У меня возникла еще одна проблема, по теме, но частично! Как проигрывать аудифайл я понял и тд. Теперь возник еще один вопрос связанный с извлечением этой самой музыки из файла ресурсов. Для этого я использую код: Dim barr() As Byte stra = LoadResData(101, "CUSTOM") Dim f As Integer f = FreeFile Open App.Path & "\" & "1.mp3" For Binary As #f Put #f, , stra Close #fНо почему-то старый... https://www.cyberforum.ru/ visual-basic/ thread1227302.html
VB Постепенный вывод текста в Label Добрый день. Необходимо реализовать плавный вывод текста на Label (на него, т.к. необходимо прозрачный фон обязательно). Но 2 проблемы: 1. На некоторых скоростях текст мерцает. 2. Максимальной скорости не хватает, то есть хочется сделать и быстрее вывод текста. Подскажите как можно решить эти проблемы. Или может другой объект для этого взять? https://www.cyberforum.ru/ visual-basic/ thread1227284.html VB Разработать проект "Приветствие студента"
Привет,помогите зделать легкую програму: Разработать проект "Приветствие студента", содержащий форму, в которой выводится сообщение (приветствие) при активизации кода.
VB Как сделать свою программу платной? https://www.cyberforum.ru/ visual-basic/ thread1226887.html
сейчас у меня другая фишка.., найти способ делать программы платными ищу вот... в поисковиках лазию :) причем сделать программу такой чтоб она отработала несколько раз, а потом стала просить деньги у пользователя.. ну это сделать можно, а как весь этот парсинг организовать.. задача...
VB Обсуждение работы проекта "Калькулятор со скобками и корнем" Калькулятор со скобками и корнем Вот так, легко и просто, за один вечер собрал эту штуку надеюсь комунибудь придет идея сделать эту программу лучше Option Explicit ' 'Калькулятор на VB 'Простенькая реализация калькулятора ... © Антихакер32™ ' https://www.cyberforum.ru/ visual-basic/ thread1226886.html
VB Контейнер в контейнере
Имеется UserControl типа контейнер, внутри его другой контейнер Picture1. Возможно ли средствами VisualBasic / WinApi при загрузке в во внешний контейнер какого-нибудь объекта автоматически перемещать его во внутренний контейнер?
VB Как заполнить половину двумерного массива определенными числами https://www.cyberforum.ru/ visual-basic/ thread1224713.html
Как заполнить половину двумерного массива определенными числами (как на примере)?) Заранее спасибо
Модератор
9725 / 3686 / 871
Регистрация: 22.02.2013
Сообщений: 5,531
Записей в блоге: 78
19.07.2014, 01:17 0

Форма становится прозрачной, а кнопка - нет - VB - Ответ 6441097

19.07.2014, 01:17. Показов 5384. Ответов 67
Метки (Все метки)

Лучший ответ Сообщение было отмечено The trick как решение

Решение

Имитация прозрачности, используя перехват рисования. Двойная буферизация (без мерцаний). Поддерживается перекрытие с непрозрачными контролами.

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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
Option Explicit
 
Private Type RECT
    iLeft As Long
    iTop As Long
    iRight As Long
    iBottom As Long
End Type
Private Type PAINTSTRUCT
    hdc As Long
    fErase As Long
    rcPaint As RECT
    fRestore As Long
    fIncUpdate As Long
    rgbReserved(31) As Byte
End Type
 
Private Declare Function InitCommonControlsEx Lib "comctl32" (icc As Any) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function AlphaBlend Lib "msimg32" (ByVal hdcDest As Long, ByVal xDest As Long, ByVal yDest As Long, ByVal WidthDest As Long, ByVal HeightDest As Long, ByVal hdcSrc As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal WidthSrc As Long, ByVal HeightSrc As Long, ByVal Blendfunc As Long) As Long
Private Declare Function BeginPaint Lib "user32" (ByVal hwnd As Long, lpPaint As PAINTSTRUCT) As Long
Private Declare Function EndPaint Lib "user32" (ByVal hwnd As Long, lpPaint As PAINTSTRUCT) As Long
Private Declare Function RedrawWindow Lib "user32" (ByVal hwnd As Long, lprcUpdate As Any, ByVal hrgnUpdate As Long, ByVal fuRedraw As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function MapWindowPoints Lib "user32" (ByVal hwndFrom As Long, ByVal hwndTo As Long, lppt As Any, ByVal cPoints As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetUpdateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetViewportOrgEx Lib "gdi32" (ByVal hdc As Long, ByVal nX As Long, ByVal nY As Long, lpPoint As Any) As Long
Private Declare Function SelectClipRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long
 
Private Const GW_HWNDNEXT       As Long = 2
Private Const WM_PAINT          As Long = &HF
Private Const WM_ERASEBKGND     As Long = &H14
Private Const RDW_UPDATENOW     As Long = &H100
Private Const RDW_INVALIDATE    As Long = &H1
 
Dim WithEvents sclButton    As clsTrickSubclass
 
Private Sub Form_Initialize()
    InitCommonControlsEx 3435973.8623@
End Sub
 
Private Sub Form_Load()
    Dim p As Long
    
    Set sclButton = New clsTrickSubclass
    sclButton.HookClass cmdTest(0).hwnd
    sclButton.ResumeSubclass
 
    For p = 1 To 6
        Load cmdTest(p)
        cmdTest(p).Move 5, p * 50 + 5, ScaleWidth - 10, 45
        cmdTest(p).Visible = True
        cmdTest(p).ZOrder
        cmdTest(p).Caption = Choose(p, "Transparent", _
                                       "buttons", _
                                       "by The trick", _
                                       "use TrickSubclass", _
                                       "fake transparent", _
                                       "double buffering")
    Next
    
End Sub
 
Private Sub hsbAlpha_Change()
    Dim i As Long
    For i = 0 To cmdTest.UBound: cmdTest(i).Refresh: Next
End Sub
Private Sub hsbAlpha_Scroll()
    hsbAlpha_Change
End Sub
 
Private Sub sclButton_WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long, Ret As Long, DefCall As Boolean)
    Select Case Msg
    Case WM_ERASEBKGND: OnErase hwnd, wParam, lParam
    Case WM_PAINT: OnPaint hwnd
    Case Else: DefCall = True
    End Select
End Sub
 
Private Sub OnErase(ByVal hwnd As Long, ByVal hdc As Long, ByVal ID As Long)
    Dim rc As RECT, map As RECT, nWnd As Long
    
    If ID <> hwnd Then Exit Sub
    
    nWnd = GetParent(hwnd)
    GetUpdateRect hwnd, rc, 0
    map = rc: MapWindowPoints hwnd, nWnd, map, 2
    SetViewportOrgEx hdc, -map.iLeft, -map.iTop, ByVal 0&
    SendMessage nWnd, WM_PAINT, hdc, ByVal 0&
    nWnd = GetWindow(hwnd, GW_HWNDNEXT)
    
    Do While nWnd
        map = rc: MapWindowPoints hwnd, nWnd, map, 2
        SetViewportOrgEx hdc, -map.iLeft, -map.iTop, ByVal 0&
        SendMessage nWnd, WM_PAINT, hdc, ByVal 0&
        SelectClipRgn hdc, 0
        nWnd = GetWindow(nWnd, GW_HWNDNEXT)
    Loop
 
    SetViewportOrgEx hdc, 0, 0, ByVal 0&
    
End Sub
Private Sub OnPaint(ByVal hwnd As Long)
    Dim sDc As Long, sBmp As Long, soBmp As Long, _
        dDc As Long, dBmp As Long, doBmp As Long, _
        rc As RECT, ps As PAINTSTRUCT
    
    GetUpdateRect hwnd, rc, 0
    sDc = CreateCompatibleDC(Me.hdc):   dDc = CreateCompatibleDC(Me.hdc)
    sBmp = CreateCompatibleBitmap(Me.hdc, rc.iRight, rc.iBottom)
    dBmp = CreateCompatibleBitmap(Me.hdc, rc.iRight, rc.iBottom)
    soBmp = SelectObject(sDc, sBmp):    doBmp = SelectObject(dDc, dBmp)
    sclButton.CallDef hwnd, WM_PAINT, sDc, 0, False
    BeginPaint hwnd, ps
    SendMessage hwnd, WM_ERASEBKGND, dDc, ByVal hwnd
    AlphaBlend dDc, rc.iLeft, rc.iTop, rc.iRight - rc.iLeft, rc.iBottom - rc.iTop, _
               sDc, rc.iLeft, rc.iTop, rc.iRight - rc.iLeft, rc.iBottom - rc.iTop, CLng(hsbAlpha.Value) * &H10000
    BitBlt ps.hdc, rc.iLeft, rc.iTop, rc.iRight - rc.iLeft, rc.iBottom - rc.iTop, dDc, rc.iLeft, rc.iTop, vbSrcCopy
    EndPaint hwnd, ps
    SelectObject sDc, soBmp:    SelectObject dDc, doBmp
    DeleteObject sBmp:          DeleteObject dBmp
    DeleteDC sDc:               DeleteDC dDc
    
End Sub
Работает как на XP:
Форма становится прозрачной, а кнопка - нет

Так и на Win7:
Форма становится прозрачной, а кнопка - нет

Корректно работает только с манифестом, для работы без манифеста дополнительно нужно обработать сообщения мыши. В архиве 2 примера. Используется мой модуль для сабклассинга.

Вернуться к обсуждению:
Форма становится прозрачной, а кнопка - нет VB
Вложения
Тип файла: rar TransparentControl.rar (418.2 Кб, 92 просмотров)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2014, 01:17
Готовые ответы и решения:

Во общем ситуация такая. Есть форма на форме кнопка. Кнопка запускает метод. После запуска метода форма умирае
Во общем ситуация такая. Есть форма на форме кнопка. Кнопка запускает метод. После запуска метода...

Как сделать так что бы кнопка с картинкой была прозрачной?
Я зная что можно сделать кнопке BackColor = transparent но тогда оно отображает фон самой формы а...

Кнопка становится не кликабельной
Пробую добавить кнопку на RichTextBox и скрыть ее после того как курсор покинул область...

Почему кнопка НЕ СТАНОВИТСЯ НЕВИДИМОЙ?
Среда Visual Basic STUDIO’2010 Professional Почему кнопка НЕ СТАНОВИТСЯ НЕВИДИМОЙ?...

67
19.07.2014, 01:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2014, 01:17
Помогаю со студенческими работами здесь

Кнопка сохранения текста не становится активной
Здравствуйте помогите разобраться..Есть текстовый редактор . на нем кнопки &quot;загрузить &quot;&quot;сохранить&quot;...

кнопка становится активной после некоторых действий
Собственно суть такова: Форма загружается с деактивированными кнопками (свойство enabled = false)...

При выделеном тексте кнопка становится активной
помогите как задать условие если выделяеш текств в RichTextBox кнопка становится активной

Форма не становится поверх остальных окон
Скажите пожалуйста, в чем ошибка private void поверхОкон_CheckedChanged(object sender, EventArgs...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru