purebasic.info

PureBasic forum
Текущее время: Чт апр 19, 2018 11:51 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Размеры панели задач
СообщениеДобавлено: Пт окт 23, 2015 11:50 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
Простенькая процедурка.
Может кому пригодиться.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Procedure  getTaskBarRect(*rect.RECT)
 
 taskBar = FindWindow_("Shell_traywnd", #Null);
 Debug "taskBar="+Str(taskBar)
 If taskBar
   GetWindowRect_(taskBar, rect.RECT)
   h=rect\bottom-rect\top
   w=rect\right-rect\left
   Debug "h="+Str(h)
   Debug "x="+Str(rect\left)
   Debug "w="+Str(w)
   Debug "y="+Str(rect\top)
   ProcedureReturn *rect
 EndIf
 
 EndProcedure
getTaskBarRect(@rect)



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Размеры панели задач
СообщениеДобавлено: Пт окт 23, 2015 11:58 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
+ код шутка...
Код:
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
Procedure  getTaskBarRect(*rect.RECT)
 
 taskBar = FindWindow_("Shell_traywnd", #Null);
 Debug "taskBar="+Str(taskBar)
 If taskBar
   GetWindowRect_(taskBar, rect.RECT)
   x=rect\left
   y=rect\top
   h=rect\bottom-rect\top
   w=rect\right-rect\left
   Debug "h="+Str(h)
   Debug "x="+Str(x)
   Debug "w="+Str(w)
   Debug "y="+Str(y)
   
   wnd=OpenWindow(#PB_Any,x,y,w,h,"",#PB_Window_BorderLess)
   StickyWindow(wnd,1)
   
   Repeat
   event = WaitWindowEvent()
   Until event = #PB_Event_CloseWindow Or quit=1
   
   ProcedureReturn *rect
 EndIf
 EndProcedure
 getTaskBarRect(@rect)



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Размеры панели задач
СообщениеДобавлено: Пт окт 23, 2015 2:29 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 738
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
Код:
1
2
3
4
5
6
7
8
9
10
 
Define re.RECT
 
If SystemParametersInfo_(#SPI_GETWORKAREA, 0, @re, #False)
  Debug "Left: " + re\left
  Debug "Top: " + re\bottom
  Debug "Width: " + Str(GetSystemMetrics_(#SM_CXSCREEN) - re\left)
  Debug "Height: " + Str(GetSystemMetrics_(#SM_CYSCREEN) - re\bottom)
EndIf
 


_________________
https://www.instagram.com/sergey.afonichev/


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB