Автор Тема: GUI умеющее рассчитывать расстояние  (Прочитано 468 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 268
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt: 3.
 AutoIt Version: 3.3.14.3
Описание:
Всем привет
Ищу GUI чье поведение аналогично сообщению почтовой программы или  антивируса
Другими словами:
  • Умеющего автоматически рассчитывать размер любого экрана ПК
  • Учитывать размер Панели задач, автоматически
  • Находить нижний угол справа/внизу и прижиматься к нему, атоматически

Примечания:
В самом GUI поле GUICtrlCreateEdit (как вариант) - чтобы можно получить и вывести через переменную информацию

Спасибо большое


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Июнь 06, 2018, 02:02:01 от dr.room »
Если бы один пример - было бы волшебно...для новичка

Русское сообщество AutoIt

GUI умеющее рассчитывать расстояние
« Отправлен: Июнь 06, 2018, 01:02:27 »

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1433
  • Репутация: 212
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: GUI умеющее рассчитывать расстояние
« Ответ #1, Отправлен: Июнь 06, 2018, 01:10:36 »
...
  • Умеющего рассчитывать размер любого экрана ПК
  • Учитывать размер Панели задач
  • Находить нижний угол справа/внизу и прижиматься к нему
...
Все это уже было показано для вас.

Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 268

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: GUI умеющее рассчитывать расстояние
« Ответ #2, Отправлен: Июнь 06, 2018, 01:37:47 »
Да, было. Но тема закрыта и мне нужны дополнительная информация, очень
У вас Alofa, было решение с Msgbox позволяющее задавать вручную координаты по его расположению относительно x y . Пользуясь случаем хочу уточнить: а без ручного ввода данных, чтобы автоматически рассчитывалсь  координаты с учетом условий выше описанных, можно реализовать? Мне нужно быть не привязанным только к одному размеру экрана.


Вот классное решение с Msgbox от CreatoR но почему в углу сверху/слева.  у CreatoR панель задач сверху? Если да - то у меня как у многих снизу...
(нажмите для показа/скрытия)



« Последнее редактирование: Июнь 06, 2018, 01:58:47 от dr.room »

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2784
  • Репутация: 470
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: GUI умеющее рассчитывать расстояние
« Ответ #3, Отправлен: Июнь 06, 2018, 07:49:37 »
dr.room  [?]
Цитировать
Пользуясь случаем хочу уточнить: а без ручного ввода данных, чтобы автоматически рассчитывалсь  координаты с учетом условий выше описанных, можно реализовать? Мне нужно быть не привязанным только к одному размеру экрана.
в примере Alofa и так автоматически расчитывается
Код: AutoIt [Выделить]
то есть получаются координаты рабочей области экрана
только в примере можно без перемещения окна, а создавать сразу по координатам

Код: AutoIt [Выделить]
Func _My_MsgBox()
    Local $iWidth = 300 ; Ширина окна
    Local $iHeight = 150 ; Высота окна
    Local $iWidthBatt = 88 ; Ширина кнопки
    Local $iHeightBatt = 26 ; Высота кнопки
    Local $tRECT = _WinAPI_GetWorkArea()

    Local $iLeft = DllStructGetData($tRECT, 'Right') - $iWidth
    Local $iTop = DllStructGetData($tRECT, 'Bottom') - $iHeight
    Local $hGui = GUICreate("Мое Окно", $iWidth, $iHeight, $iLeft, $iTop, $DS_SETFOREGROUND)

    Local $aClientSize = WinGetClientSize($hGui)
    GUICtrlCreateLabel("Это мое суперское окно!", 0, 0, $aClientSize[0], $aClientSize[1] - 46)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    Local $Button = GUICtrlCreateButton("Ok", $iWidth / 2 - $iWidthBatt / 2, $aClientSize[1] - 46 + ((46 - $iHeightBatt) / 2), $iWidthBatt, $iHeightBatt)
    GUISetState()

    While 1
        Switch GUIGetMsg()
            Case $Button
                GUIDelete($hGui)
                Return 1
        EndSwitch
    WEnd
EndFunc   ;==>_My_MsgBox

Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Русское сообщество AutoIt

Re: GUI умеющее рассчитывать расстояние
« Ответ #3 Отправлен: Июнь 06, 2018, 07:49:37 »

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1433
  • Репутация: 212
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: GUI умеющее рассчитывать расстояние
« Ответ #4, Отправлен: Июнь 06, 2018, 08:54:56 »
... только в примере можно без перемещения окна...
Не всегда координаты полученные от Win... и API... функций стыкуются с координатами GUI, видимо из за оформления окна, поэтому WinMove().

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2784
  • Репутация: 470
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: GUI умеющее рассчитывать расстояние
« Ответ #5, Отправлен: Июнь 06, 2018, 11:02:15 »
для данного окна выясняется разность и она будет постоянной. её можно использовать как постоянную величину. все остальное вычислять исходя из размеров рабочего области

Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 268

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: GUI умеющее рассчитывать расстояние
« Ответ #6, Отправлен: Июнь 06, 2018, 15:46:08 »
Спасибо большое, joiner !!

Я только не знаю какие #Include использовать
С теми что привожу ниже -все заработало !
Код: AutoIt [Выделить]
#Include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <WinAPISys.au3>
 


ps
Поэкспериментирую немного ...
« Последнее редактирование: Июнь 06, 2018, 16:48:53 от dr.room »

Русское сообщество AutoIt

Re: GUI умеющее рассчитывать расстояние
« Ответ #6 Отправлен: Июнь 06, 2018, 15:46:08 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
4150 Просмотров
Последний ответ Июль 11, 2010, 00:36:52
от CreatoR
6 Ответов
3805 Просмотров
Последний ответ Февраль 06, 2013, 14:03:04
от madmasles
0 Ответов
1109 Просмотров
Последний ответ Май 11, 2013, 21:42:00
от CreatoR
4 Ответов
1794 Просмотров
Последний ответ Август 10, 2014, 23:17:36
от forc1k
0 Ответов
830 Просмотров
Последний ответ Август 11, 2014, 07:03:53
от madmasles
3 Ответов
1555 Просмотров
Последний ответ Январь 28, 2015, 16:44:07
от madmasles
1 Ответов
908 Просмотров
Последний ответ Март 18, 2015, 17:42:51
от madmasles
2 Ответов
1170 Просмотров
Последний ответ Август 01, 2015, 09:11:30
от Dima1337
3 Ответов
2442 Просмотров
Последний ответ Июль 18, 2016, 23:20:23
от AnthonMelp
2 Ответов
416 Просмотров
Последний ответ Июль 04, 2016, 22:05:51
от kolosov