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

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

17.07.2014, 09:23. Показов 7416. Ответов 67
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаем проект Visual Basic, на форму кидаем кнопку и пишем код в эту форму:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long 
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long 
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long 
 
Private Sub Form_Load() 
    Dim Ret As Long 
    Ret = GetWindowLong(hwnd, GWL_EXSTYLE) 
    Ret = Ret Or &H80000 
    SetWindowLong hwnd, (-20), Ret 
     
    SetLayeredWindowAttributes hwnd, 0, 128, 2 
End Sub
И наша форма становится прозразна на 50 процентов. Теперь немножко переделываем код для кнопки:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long 
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long 
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long 
 
Private Sub Form_Load() 
    Dim Ret As Long 
    Ret = GetWindowLong(Command1.hwnd, GWL_EXSTYLE) 
    Ret = Ret Or &H80000 
    SetWindowLong Command1.hwnd, (-20), Ret 
   
    SetLayeredWindowAttributes Command1.hwnd, 0, 128, 2 Or 1 
     
End Sub
... и кнопка почему то не становится на 50% прозрачнее Где ошибка?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.07.2014, 09:23
Ответы с готовыми решениями:

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

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

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

67
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
17.07.2014, 15:21  [ТС]
Студворк — интернет-сервис помощи студентам
это у вас ошибка синтакса или присвоения скорее всего
Так оно и есть! А как испривить я и тырнет не знают! Вот и спрашиваю
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.07.2014, 16:20
что значит тырнет не знаю... , в русском языке таких слов нет
может я не русский ?

Добавлено через 9 минут

Не по теме:

Кстати, если интересно, действительно на нашем форуме, если воспользоватся
расширенным поиском, то можно найти, оссобенно по байсику абсолютно все
это я без преувеличения, а если конкрктнее, вводиш там-же имя пользователя
и ищеш искомое значение по ключевому слову, кстате на других мертвых сайтах
даже не делай таких попыток, так-как там даже серенькой реализации калькулятора
не сможеш найти, неговоря о полупрозрачности отдельных кнопок

0
es geht mir gut
 Аватар для SoftIce
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
17.07.2014, 17:00
dimas5552, я бы не стал "рожать" кнопку. Поставьте её сразу на форму, сделайте невидимой, в нужный момент показывайте, и все дела.
Миниатюры
Форма становится прозрачной, а кнопка - нет  
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.07.2014, 17:19
Ну да, SoftIce очень умный чел, и я понял что он хочет сказать,
лиж-бы теперь это понял наш TC тоесть создатель темы
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
17.07.2014, 17:32
Цитата Сообщение от dimas5552 Посмотреть сообщение
Хорошо, если не получается сделать прозрачность слоями как тогда сделать что бы кнопка была просто прозрачная на полную?
В смысле "на полную"? Полностью невидимую кнопку?
Цитата Сообщение от dimas5552 Посмотреть сообщение
Можно привести суть в качестве минипримера как у меня?
Какой пример? Нельзя делать слоеными не Top-level окна. Хочешь так делать - рисуй сам, как у меня в примерах. Если хочешь полностью прозрачную - просто скрывай окно, либо делай регионы по точкам, чтобы имитировать полупрозрачность.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
тогда это избавит от проблем совместимости
Что за ересь? Какая несовместимость?
Цитата Сообщение от dimas5552 Посмотреть сообщение
Command1.BackColor = color.transparent
Где это ты нашел? Покажи.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
да, надо апишку добавлять, но я их терпеть не могу эти костыли
Это не костыли. Практически в любом языке используются WinApi.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Transparent это не то свойство которое определяет цвет
цвет определяется неким числом, от -2147483647 до +2147483647
вот там и юзайте, это у вас ошибка синтакса или присвоения скорее всего
Чего? Цвет в VB6 это для положительных значения RGB 0...16777215, для отрицательных от (-2147483648...-2147483623) которые соответствуют GetSysColor без старшего бита.
Color - это скорее всего Enum.

Добавлено через 11 минут
Цитата Сообщение от Антихакер32 Посмотреть сообщение
А как тогда убрать у кнопки привязку к окну,
можете объяснить без отсылок кудато еще
Есть замечательная функция, о которой ты хорошо знаешь, SetParent называется.
0
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
17.07.2014, 18:40  [ТС]
SoftIce - так задумка в том что бы форма была НЕПРОЗРАЧНОЙ а кнопка на ней ПРОЗРАЧНОЙ!

В смысле "на полную"? Полностью невидимую кнопку?
Кнопку да, а вот текст на ней должен быть виден на 100% и рамки кнопки то же

Где это ты нашел? Покажи.
http://startbasic.ru/prozrachnost-elementov/
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
17.07.2014, 18:44
Цитата Сообщение от dimas5552 Посмотреть сообщение
Кнопку да, а вот текст на ней должен быть виден на 100%
Ну тык используй Label, с прозрачным фоном?
Цитата Сообщение от dimas5552 Посмотреть сообщение
Этот код для VB.NET.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.07.2014, 18:51
Чепушня, то что я и The Trick мой бывш дружбан тут выложил, ито более действеннее и понятнее
что опять подьверждает, что байсиковых вариантов трудно найти,

есть конечно еще вариант ...
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
17.07.2014, 19:07
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Чепушня, то что я и The Trick мой бывш дружбан тут выложил, ито более действеннее и понятнее что опять подьверждает, что байсиковых вариантов трудно найти,
Чепушню ты выложил и написал. Я выложил пример прозрачных контролов.

Не по теме:

Не нужно афишировать что я твой бывший друг. Это уже все знают и никому это не интересно.

0
es geht mir gut
 Аватар для SoftIce
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
17.07.2014, 19:53
Цитата Сообщение от dimas5552 Посмотреть сообщение
задумка в том что бы форма была НЕПРОЗРАЧНОЙ а кнопка на ней ПРОЗРАЧНОЙ!
Типа так что ли?

Да ну, ерунда какая-то получается...
0
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
17.07.2014, 22:47  [ТС]
SoftIce, да, ТАК ! Можно исходник, оооочень умоляю
1
es geht mir gut
 Аватар для SoftIce
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
17.07.2014, 23:04
А исходника то и нету . Это просто одна форма с дыркой посередине, а под ней вторая полупрозрачная.
Я сделал так для того чтобы уточнить чего Вы хотите сотворить
1
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
17.07.2014, 23:09  [ТС]
Блин, а я уже думал вагон пива выслать))) Так как же все таки сотворить это в жизнь на одной форме?
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
17.07.2014, 23:12
Цитата Сообщение от dimas5552 Посмотреть сообщение
SoftIce, да, ТАК ! Можно исходник, оооочень умоляю
У тебя статичная форма? Есть ли какие контролы на ней дополнительно? Покажи форму. Я тебе скажу как сделать.
0
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
17.07.2014, 23:16  [ТС]
У тебя статичная форма? Есть ли какие контролы на ней дополнительно? Покажи форму. Я тебе скажу как сделать.
Для того что бы стало окончательно ясно скажу: Открываем новый проект, на форму не меняя никаких ее свойств кидаем кнопку, так же не меняя ее свойств. И теперь программно нужно ее заставить сделать то что было на прошлой картинке... Ничего кроме кнопки на форме больше нет.
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
17.07.2014, 23:18
Цитата Сообщение от dimas5552 Посмотреть сообщение
Для того что бы стало окончательно ясно скажу: Открываем новый проект, на форму не меняя никаких ее свойств кидаем кнопку, так же не меняя ее свойств. И теперь программно нужно ее заставить сделать то что было на прошлой картинке...
Для формы предусмотрено изменение размеров или это статичная форма с фиксированными размерами - это важно.
0
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
17.07.2014, 23:23  [ТС]
Статичная форма
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
17.07.2014, 23:58
dimas5552, еще вопрос, тебе нужна полностью прозрачная кнопка или частично?
Вот так пойдет?
Вложения
Тип файла: rar Project1.rar (2.9 Кб, 20 просмотров)
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
18.07.2014, 00:07
Пойдет наверное, ТС наверное спит, вам таки удалось
а исходник не хотите показать

Добавлено через 1 минуту
Хотелось бы свериться со своим вариантом, только и всего
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
18.07.2014, 01:13
как вариант , только проблеммно фокусировать
Вложения
Тип файла: rar Lr.rar (3.5 Кб, 13 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.07.2014, 01:13

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru