Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2009, 10:52   #1
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию Компонент вывода над tray

Люди добрые ! подскажите ....нужен компонент который показывает всплывающую форму в области трей (правого нижнего угла) и на которой (на форме) я бы мог разместить свои элементы (кнопки, лейбл, прогрессбар и т.д и т.п и др.) Или как выводить свою форму над трей (с учетом разных мониторов)?

Пример:
Noor вне форума Ответить с цитированием
Старый 12.10.2009, 11:05   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Сообщение от Noor Посмотреть сообщение
Люди добрые ! подскажите ....нужен компонент который показывает всплывающую форму в области трей (правого нижнего угла) и на которой (на форме) я бы мог разместить свои элементы (кнопки, лейбл, прогрессбар и т.д и т.п и др.) Или как выводить свою форму над трей (с учетом разных мониторов)?

Пример:
- компонент? ужас...
сделайте свою форму, оформите как вам нужно, накидайте что вам нужно и при выводе задайте form.left:= screen.width - width и form.top:= screen.height - form.height-30 // последнее 30 - лучше считывать ширину border вашего, щас не помню как, погуглите...
вот вам и независимость от разрешения...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 12.10.2009, 11:46   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Во ... спасибки попробую !!!
Noor вне форума Ответить с цитированием
Старый 16.10.2009, 11:34   #4
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Цитата:
Сообщение от Noor Посмотреть сообщение
Во ... спасибки попробую !!!
И как? Получилось? Самому нужно. Выложите примерный код.
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 16.10.2009, 11:39   #5
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Вот такой код:
Код:
procedure TForm1.fShowHint(Text:String);
var H:HWND;
    Rec:TRect;
    NeededTop:integer;
    HintForm:TForm;
    HintLabel:TLabel;
    aw:hwnd;
begin

  H := FindWindow('Shell_TrayWnd', nil);
  if h=0 then exit;

  GetWindowRect(h, Rec);

  HintForm:=TForm.Create(nil);
  with HintForm do
  begin
    Width:=245;
    Height:=100;

    Color:=clSkyBlue;
    BorderStyle:=bsNone;

    //Создаём текст
    HintLabel:=TLabel.Create(nil);
    with HintLabel do
    begin
        Parent:=HintForm;

        WordWrap:=true;

        Caption:=' '+Trim(Text)+' ';

        Align:=alClient;
        Layout:=tlCenter;
        Alignment:=taCenter;
    end;

    AlphaBlend:=true;
    AlphaBlendValue:=220;

    aw:=GetActiveWindow;
    ShowWindow(handle,SW_SHOWNOACTIVATE);
    SetActiveWindow(aw);

    Left:=Screen.Width-Width;
    Top:=Screen.Height-20;

    NeededTop:=Rec.Top-Height;
    while Top>NeededTop do
    begin
      Top:=Top-2;
      Repaint;
      Sleep(10);
      Application.ProcessMessages;
    end;

    Sleep(2000);

    NeededTop:=Screen.Width-20;
    while Top<NeededTop do
    begin
      Top:=Top+2;
      Repaint;
      Sleep(10);
      Application.ProcessMessages;
    end;

    HintLabel.Free;
    Free;
  end;

end;
pushl $0x18E3DF6B
call ICQ

Последний раз редактировалось russian-stalker; 16.10.2009 в 11:41.
russian-stalker вне форума Ответить с цитированием
Старый 16.10.2009, 11:42   #6
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Огромное спасибо
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 16.10.2009, 14:41   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Чуть поправил твой код
Код:
procedure TForm1.fShowHint(Text:String);
var NeededTop:integer;
    HintForm:TForm;
    HintLabel:TLabel;
begin
  HintForm:=TForm.Create(nil);
  with HintForm do
  begin
    Width:=245;
    Height:=100;
    Color:=clSkyBlue;
    BorderStyle:=bsNone;

    //Создаём текст
    HintLabel:=TLabel.Create(nil);
    with HintLabel do
    begin
        Parent:=HintForm;
        WordWrap:=true;
        Caption:=' '+Trim(Text)+' ';
        Align:=alClient;
        Layout:=tlCenter;
        Alignment:=taCenter;
    end;

    AlphaBlend:=true;
    AlphaBlendValue:=220;
    HintForm.Show;
    HintForm.BringToFront;

    //Screen.WorkArea - область экрана без панели задач
    Left := Screen.WorkAreaWidth - Width;
    Top  := Screen.WorkAreaHeight;

    NeededTop := Screen.WorkAreaHeight - Height;
    while Top>NeededTop do
    begin
      Top := Top - 2;
      Repaint;
      Sleep(10);
      Application.ProcessMessages;
    end;

    Sleep(2000); //жуткий двухсекундный тупняк ;)

    NeededTop := Screen.WorkAreaHeight;
    while Top<NeededTop do
    begin
      Top := Top + 2;
      Repaint;
      Sleep(10);
      Application.ProcessMessages;
    end;

    HintLabel.Free;
    Free;
  end;

end;

//И ещё, если у всплывающей формы будет заголовок, то 
//Left := Screen.WorkAreaWidth - ClientWidth; и ClientHeight соответственно
А то у меня другая оболочка, эксплорер где-то за экраном, и оно вело себя вот так
Вложения
Тип файла: rar test.rar (105.8 Кб, 68 просмотров)
пыщь

Последний раз редактировалось JTG; 16.10.2009 в 14:52.
JTG вне форума Ответить с цитированием
Старый 23.02.2010, 00:46   #8
pam3ec
 
Регистрация: 10.02.2010
Сообщений: 5
По умолчанию

Здравствуйте товарищи програмисты.
Мне для програмы нужно что бы были всплывающие окна. Но в вашим выложенным кодам, я не смог ни чего сделать, в виду своей не опытности в програмировании. Выложите пожалуйста исходник к всплывающим окнам. А то сам я не смогу догнать как это сделать.
pam3ec вне форума Ответить с цитированием
Старый 23.02.2010, 15:20   #9
Diogo76
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 13
По умолчанию

Для работы с треем я использую TCoolTrayIcon
Diogo76 вне форума Ответить с цитированием
Старый 23.02.2010, 15:26   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...рабочие исходники уже выложены в двух постах выше.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Tray Shouldercannon Общие вопросы Delphi 4 16.07.2008 22:35
Какой компонент выбрать для вывода таблицы картинок ICO Comer_Jus Мультимедиа в Delphi 3 21.05.2008 20:35
Как свернуть в Tray SeRhy Помощь студентам 1 09.12.2007 11:39