типа таскбара...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

типа таскбара...

Сообщение Jenizix » 16.03.2005 (Ср) 18:57

А как сделать форму чтобы она прилеплялась к верху экрана, и все окна ( чтоб все развернутые окна не перекрывали ее, а их верхняя граница совпадала с нижней границей моей формы????
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.03.2005 (Ср) 21:53

Код: Выделить всё
Public Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As RECT) As Long

Public Type RECT
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type

Public Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function SetWindowPlacement Lib "user32.dll" (ByVal hwnd As Long, ByRef lpwndpl As WINDOWPLACEMENT) As Long

Public Type WINDOWPLACEMENT
   Length As Long
   flags As Long
   showCmd As Long
   ptMinPosition As POINTAPI
   ptMaxPosition As POINTAPI
   rcNormalPosition As Rect
End Type

Public Type POINTAPI
   x As Long
   y As Long
End Type


Ну и в этом духе...

ИМХО решил делать что-то типа Windows Longhorn SideBar'а?
Тогда делай его лучше не сверху, а сбоку.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.03.2005 (Чт) 8:16

Посмотрю функцию WinAPI SystemParametersInfo
Lasciate ogni speranza, voi ch'entrate.

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 17.03.2005 (Чт) 19:58

BV писал(а):ИМХО решил делать что-то типа Windows Longhorn SideBar'а?
Тогда делай его лучше не сверху, а сбоку.


Да! =) :roll: А можеш примерчик рабочий дать... Ну чтоб окно с боку экрана прилеплялось...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 17.03.2005 (Чт) 22:51

Jenizix писал(а):А можеш примерчик рабочий дать... Ну чтоб окно с боку экрана прилеплялось...


Да проще простого!
Установи свойства формы Moveable = False и BorderStyle = 1, и впиши это:

Код: Выделить всё
Option Explicit
Option Compare Text

Private Sub Form_Load()
    With Me
        .Width = Screen.Width / 6
        .Height = Screen.Height
        .Left = Screen.Width - Me.Width
        .Top = 0
    End With
End Sub


...потом с помощью API сделай всё как положено.

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 18.03.2005 (Пт) 18:21

не, ну это понятно, а как сделать чтоб все окна по моему равнялись? и чтоб height был без размера панели задач?
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 18.03.2005 (Пт) 18:28

BV писал(а):
Код: Выделить всё
Option Explicit
Option Compare Text...

А причем здесь Option Compare Text? С таким же успехом я могу написать Option Compare Binary 8)
Моду создают модоки, а распространяют модозвоны.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.03.2005 (Пт) 20:19

Jenizix писал(а):не, ну это понятно, а как сделать чтоб все окна по моему равнялись? и чтоб height был без размера панели задач?

Ты мой совет пробовал?
Lasciate ogni speranza, voi ch'entrate.

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 18.03.2005 (Пт) 20:49

alibek писал(а):
Jenizix писал(а):не, ну это понятно, а как сделать чтоб все окна по моему равнялись? и чтоб height был без размера панели задач?

Ты мой совет пробовал?


Понимаете, я в АПИ не очень силен... посмотрел описание ф-ии... и как там сделать чтоб мое окно прилеплялось к правому краю экрана, так же как какая нибудь панель инструментов... и чтоб другие окна не перекрывали ее, а при разворачивании ровняли свой правый край по моей форме :cry: :cry: :cry:

Если не сложно, дайте какой нить простенький пример, как это реализовать... :oops: :roll:
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 19.03.2005 (Сб) 13:45

hCORe писал(а):А причем здесь Option Compare Text? С таким же успехом я могу написать Option Compare Binary 8)


Просто для понта 8)

2 Jenizix

Воспользуйся API Guide'ом. Там есть примеры к этим API.

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 19.03.2005 (Сб) 13:55

Народ, вопрос в тему: как сделать т.н. AutoHide AppBar типа панели задач в Форточках?
Фишка в том, что Виндовз позволяет сделать по одному автохайдбару с двух противоположных сторон экрана (быть может, и со всех четырёх - не проверял, но с двух - это точно), т.е. кроме стандартной панели задач можно добавить ещё (типа как делает MS Office Panel).
Может, кто знает, как енто провернуть? :D
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.03.2005 (Вс) 15:43

Ну что, больше никто не поможет???
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.03.2005 (Вс) 16:34

Jenizix писал(а):Ну что, больше никто не поможет???

Подпись Jenizix писал(а):Не стыдно не знать, стыдно не учиться.


Поставь API-Guide и посмотри пример.
Lasciate ogni speranza, voi ch'entrate.

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.03.2005 (Вс) 16:51

Поставил, а с чем там пример смотреть??? с SetWindowPlacement там пример как свернуть форму вроде, а с SystemParametersInfo как рисунок на десктопе менять, а нужного нету =(((((
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.03.2005 (Вс) 17:54

Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.03.2005 (Вс) 17:58

Jenizix, там есть пример, как задать рабочую область (десктом за вычетом плавающих панелей, таких как таскбар).
Lasciate ogni speranza, voi ch'entrate.

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.03.2005 (Вс) 17:59

нет... я кажется понял как мою проблему решить... : нужно размер рабочей области поменять с помощью SystemParametersInfo как alibek говорил!!!

но вот так не получаеться:
Код: Выделить всё
Dim rc As RECT

rc.Bottom = 100
rc.Right = 100
rc.Left = 100
rc.Top = 100

SystemParametersInfo SPI_SETWORKAREA, 0, rc, 0



в чем ошибка???

во на дельфи:
Код: Выделить всё
var
r:trect;
begin
r := Rect(1,1,100,100); // Определяет размеры новой рабочей области
SystemParametersInfo(SPI_SETWORKAREA,0,@R,0);
end;
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.03.2005 (Вс) 18:10

ВСЕ!!!! Всем спасибо разобрался!!!

Код: Выделить всё
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long

Private Const SPIF_SENDWININICHANGE = &H2&
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Private Const SPI_SETWORKAREA = 47&

Private Sub Command1_Click()
Dim R As RECT
R.Left = 0
R.Right = 0
R.Top = 0
R.Bottom = 0

RetVal = SystemParametersInfo(SPI_SETWORKAREA, 0, R, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE)


End Sub
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 20.03.2005 (Вс) 19:24

Код: Выделить всё
Option Compare Text
Option Compare Binary


И для чего это ваааще нужно, и чём они отличаються ???
On Fatal Error Resume Next

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.03.2005 (Вс) 19:27

В данном случае они не нужны.
А вообще, эта директива указывает, как будут сравниваться текстовые значения -- как текст (без учета регистра) или как бинарные данные.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 92

    TopList