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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2009, 15:32   #1
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию Настраиваемый Tray hint

Здравствуйте, уважаемые!
Подскажите, есть ли компонент, который может выдать настраиваемый Tray hint? причем желательно, чтоб он был не стандартно-виндовский, а немного "покрасивше", в идеале - похожий на трэй-хинт скайпа...

Заранее благодарен, тапками не бросаться (заказчика каприз, а ничего подходящего найти не могу)!
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 13.11.2009, 15:53   #2
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Код:
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;
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 13.11.2009, 16:00   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

>>> поиск <<<
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 13.11.2009 в 16:01. Причина: ...смотрю уже нашли :)
raxp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компонент вывода над tray Noor Компоненты Delphi 9 23.02.2010 15:26
Tray Shouldercannon Общие вопросы Delphi 4 16.07.2008 22:35
Как свернуть в Tray SeRhy Помощь студентам 1 09.12.2007 11:39