Страницы: 1
RSS
прозрачная форма
 
хочу сделать прозрачную форму.  
для того чтобы одновременно видеть данные, которые она перекрывает собой и работать с формой. и что бы прозрачность можно было регулировать в форме.
 
А просто подвинуть форму нельзя?
 
можно добавить кнопку свернуть:  
http://msoffice.nm.ru/faq/macros/winapi.htm#faq439  
 
Для того, чтобы добавить на заголовок пользовательской формы кнопку Свернуть, позволяющую сворачивать окно и отображать его на панели задач, достаточно скопировать весь нижеприведённый код в любой стандартный модуль и указать имя нужной формы.  
Private Declare Function FindWindow _  
       Lib "user32.dll" Alias "FindWindowA" ( _  
       ByVal lpClassName As String, _  
       ByVal lpWindowName As String) As Long  
Private Declare Function ShowWindow _  
       Lib "user32.dll" ( _  
       ByVal hWnd As Long, _  
       ByVal nCmdShow As Long) As Long  
Private Declare Function GetWindowLong _  
       Lib "user32.dll" Alias "GetWindowLongA" ( _  
       ByVal hWnd As Long, _  
       ByVal nIndex As Long) As Long  
Private Declare Function SetWindowLong _  
       Lib "user32.dll" Alias "SetWindowLongA" ( _  
       ByVal hWnd As Long, _  
       ByVal nIndex As Long, _  
       ByVal dwNewLong As Long) As Long  
 
Private Sub UserForm_Show()  
   Dim ihWnd As Long, iStyle As Long  
 
   ihWnd = FindWindow(vbNullString, UserForm1.Caption)  
 
   iStyle = GetWindowLong(ihWnd, -16&)  
   SetWindowLong ihWnd, -16&, iStyle Or &H20000  
 
   iStyle = GetWindowLong(ihWnd, -20&)  
   SetWindowLong ihWnd, -20&, iStyle Or &H40000  
 
   ShowWindow ihWnd, 5&  
End Sub
 
можно. но это не удобно. хочется сразу видеть результат выполния макросов форме на листе, а не постоянно её двигать.
 
у элементов userform есть свойство BackStyle, если поставить вариант 0-fmBackStyleTransparent, то элемент становиться прозрачным. Но вот у самой userform я такого свойства не нашёл, возможно, плохо искал.
 
хочется регулировать прозрачность вручную.  
там надо объявлять какие-то библиотеки  
мне это в принципе не критично, но вдруг кто-то знает решение
 
Ни разу не встречал прозрачной формы. А что если вывести интересующие значения прямо на форму? Можно Label. Тогда и прозрачность не нужна.
 
там слишком много значений получается, для того и хотелось прозрачную форму.  
было бы мало значений форму можно просто подвинуть.  
 
у меня почему -то не получается вывести кнопку Свернуть    
скиньте, пожалуйста, рабочий пример.
 
{quote}{login=дима}{date=21.12.2008 08:54}{thema=}{post}  
у меня почему -то не получается вывести кнопку Свернуть    
скиньте, пожалуйста, рабочий пример.{/post}{/quote}  
Просто скопируйте приведённый код в модуль Формы. Всё работает.
 
вот
 
Поправка - в стандартный модуль нужно копировать
 
огромное спасибо!  
p/s/ прозрачные кнопки это легко, а вот форму...
 
Если у Вас на форме, которая должна быть прозрачной, нет кнопок, а только информационные текстбоксы - вопрос решаемый. Рисуете автофигуры, присваиваете им диапазоны (ячейки), группируете, предварительно установив прозрачность.
 
вроде нашел но почему-то не работает  
(текст сам набирал вручную)
 
{quote}{login=дима}{date=21.12.08 21:10}{thema=}{post}прозрачные кнопки это легко, а вот форму...{/post}{/quote}Тоже легко, если слизать :) Образец во вложении.
 
Все супер! ура
 
Оказалось очень полезным, спасибо. А возможно ли сделать полностью прозрачным только кусок формы? Например, чтобы скрыть шапку "Userform" и оставить видимым только multipage?
 
Не знаю, пригодится ли, но любопытно :)
KL
Страницы: 1
Читают тему
Наверх