![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Пользователь
Регистрация: 26.01.2010
Сообщений: 72
|
![]() Цитата:
|
|
![]() |
![]() |
#12 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 72
|
![]()
Так чего то я запутался давайте по порядку
На какое событие это все вешать. 1. При создании формы определяю размер рабочей области экрана делаю так: //глобальная переменная var ScreenWorkArea:TRect; procedure TF_Main.FormCreate(Sender: TObject); begin F_Main.Left := Screen.Width - F_Main.Width; F_Main.Height := Screen.Height; ScreenWorkArea:=Rect( Screen.WorkAreaLeft, Screen.WorkAreaTop, Screen.Width - F_Main.Width {Вычитаю размер формы}, Screen.Height); end; 2. Устанавливаю рабочую область с новыми параметрами так: procedure TF_Main.FormActivate(Sender: TObject); begin SystemParametersInfo(SPI_SETWORKARE A,0,@ScreenWorkArea,SPIF_SENDCHANGE); end; а SPIF_SENDCHANGE разве не оповещает все окна о перерисовке. 3. При закрытии формы делаю следующее: procedure TF_Main.FormClose(Sender: TObject; var Action: TCloseAction); begin ScreenWorkArea:=Rect( 0, 0, 1366, 768); SystemParametersInfo(SPI_SETWORKARE A,0,@ScreenWorkArea,SPIF_SENDCHANGE ); end; Вроде при закрытии все изменяется только один косяк теперь системный трей не является ограничением для окон. теперь что надо добавить .... Последний раз редактировалось DIMASIKXXX32; 24.10.2012 в 00:58. |
![]() |
![]() |
#13 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
с флагом SPI_GETWORKAREA вы получаете текущую рабочую область.(посл параметр 0)
её нужно сохранять. и потом восстанавливать именно её. а то у вас была рабочая область размером с экран - таскбар, а вы ставите весь экран, вот и выходит. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
#14 | |
Пользователь
Регистрация: 26.01.2010
Сообщений: 72
|
![]() Цитата:
Да получилось... |
|
![]() |
![]() |
#15 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 72
|
![]()
вот если заметили еще есть косяк по строению формы
Код:
![]() Короче перекрывает системный трей а если в свойстве Align=alRight то форма начинает двигаться вместе с рабочей областью но отрисовывается до системного трея Последний раз редактировалось DIMASIKXXX32; 24.10.2012 в 02:29. |
![]() |
![]() |
#16 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
от нее расчитываем новую, и так координаты себя любимого тоже можно! и потом в конце эту область вы и должны восстановить. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
#17 | |
Пользователь
Регистрация: 26.01.2010
Сообщений: 72
|
![]() Цитата:
Код:
![]() Последний раз редактировалось DIMASIKXXX32; 24.10.2012 в 02:29. |
|
![]() |
![]() |
#18 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
#19 | |
Пользователь
Регистрация: 26.01.2010
Сообщений: 72
|
![]() Цитата:
Вроде все заработало корректно, только теперь подшаманить на все события при сворачивание и разворачивание. Огромное тебе спасибо Последний раз редактировалось DIMASIKXXX32; 24.10.2012 в 02:50. |
|
![]() |
![]() |
#20 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 72
|
![]()
Тема закрыта.
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почти Vista SideBar всего 21 kb | kachkarvv | Софт | 4 | 26.01.2012 22:25 |
Форма внути формы, или как создать предпросмотр скинов AC? | Человек_Борща | Общие вопросы Delphi | 4 | 07.04.2011 16:36 |
С++ гаджет для Windows SideBar | PavelGord | Общие вопросы C/C++ | 0 | 20.02.2011 21:57 |
сдвигается sidebar в ie6 | coolerS | HTML и CSS | 0 | 12.12.2009 15:22 |
Отчет времени на своей иконке в SYSTray | Yuran | Общие вопросы Delphi | 1 | 04.06.2008 23:43 |