Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Ваши программы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 28.02.2010, 18:02
R.P aka Gans R.P aka Gans вне форума
Прохожий
 
Регистрация: 16.02.2010
Сообщения: 11
Репутация: 10
Вопрос

Здравствуйте, дорогие друзья! Передо мной стала задача, реализовать в органайзере что-бы окна напоминалки выходили 'грубо говоря как в квипе'. С начала правом нижнем угу в самом низу потом выще на Form4.Height и так должно выйди в сумме 4 формы. А если их больше то ставить задежку или покзывать их левее Left:=Left-Form4.Widht . НО САМ ВОПРОС: на форме оповещения существует кнопка закрыть! Мне нужно как-то определять какая именно форма была закрыта - тоесть на какой форме была нажата кнопка X . Формы создаю динамически! ПОМОГИТЕ ПЛИЗ!!! очень буду благодарен!!!
Ответить с цитированием
  #17  
Старый 28.02.2010, 18:10
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от R.P aka Gans
Здравствуйте, дорогие друзья! Передо мной стала задача, реализовать в органайзере что-бы окна напоминалки выходили 'грубо говоря как в квипе'. С начала правом нижнем угу в самом низу потом выще на Form4.Height и так должно выйди в сумме 4 формы. А если их больше то ставить задежку или покзывать их левее Left:=Left-Form4.Widht . НО САМ ВОПРОС: на форме оповещения существует кнопка закрыть! Мне нужно как-то определять какая именно форма была закрыта - тоесть на какой форме была нажата кнопка X . Формы создаю динамически! ПОМОГИТЕ ПЛИЗ!!! очень буду благодарен!!!
А что будет если ты узнаешь какая форма, то что будешь делать с ней?

Я предложил бы следующее: в каждую новую открывающуюся форму присваивать переменную класса оповещения (если такой класс у тебя есть) и по нажатию делать что надо с этим оповещением (я так думаю удалить его если он "одноразовый", а может ещё что...)
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #18  
Старый 28.02.2010, 18:29
R.P aka Gans R.P aka Gans вне форума
Прохожий
 
Регистрация: 16.02.2010
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от AleD
А что будет если ты узнаешь какая форма, то что будешь делать с ней?

тогда я узнаю ее Top и если остальные оповещения не закрыты а в первом реду будет только 4. А заведено 5 то вот эта 5 станет на место той формы Top которой только что была закрыта.

>>присваивать переменную класса оповещения (если такой класс у тебя есть)
Объясни пожалуйста что это... сори за моё не знание этого материала...
Ответить с цитированием
  #19  
Старый 28.02.2010, 18:37
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от R.P aka Gans
тогда я узнаю ее Top и если остальные оповещения не закрыты а в первом реду будет только 4. А заведено 5 то вот эта 5 станет на место той формы Top которой только что была закрыта.

>>присваивать переменную класса оповещения (если такой класс у тебя есть)
Объясни пожалуйста что это... сори за моё не знание этого материала...
Ну для таких целей я бы сделал так. Когда создаёшь новое окно оповещения, запоминаешь эту переменную (например FNewWnd), а при последующих созданий окон присваиваешь предпоследнему окну переменную последнего. Когда окно закрывается и следующее окно существует, начинает его сдвигать, вызывая метод сдвига у этого окна, что-бы и оно сдвинуло следующее...

Кароче догадываюсь что ты ничо не паймёш, если всё же непонял то завтра (у меня щас почти час ночи) напишу тебе примерчик.
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #20  
Старый 28.02.2010, 19:34
R.P aka Gans R.P aka Gans вне форума
Прохожий
 
Регистрация: 16.02.2010
Сообщения: 11
Репутация: 10
По умолчанию

напиши пожалуйста... буду очень признателен...
Ответить с цитированием
  #21  
Старый 01.03.2010, 10:24
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Вот я и пришёл, с подарочками. В общем вот исходники окон оповещения по моей теории. А здесь и здесь откомпилированное приложение, если у тебя IDE ниже D2009. Исходники не комментированы, если надо будет разобраться - добро пожаловать ко мне в ICQ
Вложения
Тип файла: rar NotifyForms_src.rar (5.6 Кбайт, 54 просмотров)
Тип файла: rar NotifyWindows.part1.rar (152.3 Кбайт, 27 просмотров)
Тип файла: rar NotifyWindows.part2.rar (53.0 Кбайт, 24 просмотров)
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #22  
Старый 02.03.2010, 08:54
R.P aka Gans R.P aka Gans вне форума
Прохожий
 
Регистрация: 16.02.2010
Сообщения: 11
Репутация: 10
Радость

Огромное тебе спасибо!!! Всё хорошо работает! Выручил спасибо огромное!
Ответить с цитированием
  #23  
Старый 06.03.2010, 14:28
R.P aka Gans R.P aka Gans вне форума
Прохожий
 
Регистрация: 16.02.2010
Сообщения: 11
Репутация: 10
Радость

Здравствуйте дорогие друзья!

Представляю вашему вниманию новую сборку органайзера...
Реализовано:
1. Теперь программа сохраняет всего 2 файла. ДАнные с ListView и настройки все...
2. Убран счётчик букв в добавление напоминания.
3. главное окно возможность менять размеры и компоненты тоже меняют размеры
4. Отступ меньше в о программе и изменён цвет в о программе
5.

2. Если дата/время у напоминании(кол-во больше 1) одна, то показываются все формы с разным текстом, НО позиция не учитывается и все формы показываются в правом нижнем углу.
Реализовал... теперь и появились некоторые мелкие фишки... к примеру если закрываешь форму у которой есть выше ещё формы оповещения формы прикольно сдвигаются и ещё фишечки Улыбающийся

6. полностью отлажена ''кукушка ''
7. убраны ошибки в функции поверх всех окон
8. Модифицировано сохранение и загрузка... теперь программа стала немного более ''гибкой''
9. В ListView появилось PopupMenu с различными удобными функциями
10. Теперь в ListView убирается полная директория файла звука... только имя файла.
11. Теперь когда выбираешь звучёк в формате wav - для оповещения файл копируется в папку с программой в папку Data-скажу для чего это... к примеру пользователь переместил файл или удалил и звук не сработает и пользователь может опоздать и т.д
Как сказал мой Очень хороший друг ''портативный органайзер получится'' Улыбающийся
12. Исправлено многие критические ошибки и исправлены очень много мелких ошибок - недочётов
Потестите пожалуйста... Улыбающийся
P.S за эту сборку хочу выразить ОГРОМНОЕ СПАСИБО AleD
http://rpakagans.nextmail.ru/Reminde...beta 0.9.2.RAR

Последний раз редактировалось R.P aka Gans, 06.03.2010 в 14:33.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter