Конференция "KOL" » Про TrayIcon [Delphi, Windows]
 
  • Юрий_К (22.11.07 15:18) [0]
    Пример скачал с TrayIcon, но там реально ничего нет. Хотел сделать, что если нажимаем на 'X' форме, то чтобы форма становилась невидимой. Обратно видимой должна будет становиться при клике на иконку в трее. Но почему то в FormCloseQuery не попадаем пр отработке кода.


    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
       CanClose := False;
       ShowWindow(Applet.Handle, SW_HIDE);
       //if Form.Active then Form.Hide;
    end;

    procedure TForm1.btnButton1Click(Sender: PObj);
    begin
       ShowWindow(Applet.Handle, SW_HIDE);
    end;



    В btnButton1Click попадаем, а в FormCloseQuery нет. Что нужно сделать?

    Что раньше в VCL проекте делалось: если TrayIcon1.Active то прячем окно при нажатии на 'x' на форме.

     if not TrayIcon1.Active then begin
     ...
     end else begin
       CanClose := False;
       ShowWindow(Application.Handle, SW_HIDE);
       if Active then Hide;
     end;

  • Юрий_К (22.11.07 15:44) [1]
    Что нужно сделать, чтобы в панели задач внизу убрать "формочку" от приложения при сворачивании. Чтобы только иконка оставалась в трее? Может ли кто подсказать?

    Пока такой код есть:
    procedure TForm1.btnButton1Click(Sender: PObj);
    begin
       if Form.Visible then Form.Hide;
    end;

    procedure TForm1.TrayIcon1Mouse(Sender: PObj; Message: Word);
    begin
     if not Form.Visible then
     if (Message = WM_LBUTTONDBLCLK) then
       Form.Show;
    end;

  • Юрий_К (22.11.07 15:50) [2]
    И ещё один вопрос. Тот TrayIcon, что в VCL проектах использовал, содержал свойство "PopupMenu", в KOLTrayIcon этого нет. Как PopupMenu привязывать к KOLTrayIcon?
  • Dimaxx © (22.11.07 15:54) [3]
    Ловить в OnMessage нажатие правой кнопки и выводить меню ручками.
  • Юрий_К (22.11.07 16:27) [4]
    "Dimaxx ©   (22.11.07 15:54) [3]
    Ловить в OnMessage нажатие правой кнопки и выводить меню ручками."

    Спасибо за ответ. Вот такое и должно было бы быть в примере про KOLTrayIcon. А то там всего лишь на форму помещена компонента KOLTrayIcon и всего лишь. Ради чего такой пример выставлять, не понятно.
  • Юрий_К (22.11.07 16:45) [5]
    Похоже я не то событие вызвал:
    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

    Нужно было с компоненты KOLForm:
    TForm1.MainFormClose(Sender: PObj; var Accept: Boolean)

    Правильно ли я мыслю? Чтобы на панели задач не было формы, нужно главное окно невидимым делать, а работать со второй формой, все нужные компоненты там распологать.
  • Дмитрий К © (22.11.07 16:57) [6]

    > Правильно ли я мыслю? Чтобы на панели задач не было формы,
    >  нужно главное окно невидимым делать, а работать со второй
    > формой, все нужные компоненты там распологать.

    Если нету KOLApplet, добавь. Его и прячь. Applet отвечает за кнопку на панели задач.
  • Юрий_К (22.11.07 18:06) [7]
    ОК. К чему пришли:
    procedure TForm1.MainFormClose(Sender: PObj; var Accept: Boolean);
    begin
     if (Applet.Visible) then
     begin
       Accept := False;
       Form.Hide;
       Applet.Hide;
     end;
    end;

    procedure TForm1.TrayIconMouse(Sender: PObj; Message: Word);
    begin
    if not Applet.Visible then
    if (Message = WM_LBUTTONDBLCLK) then
    begin
      Applet.Show;
      Form.Show;
    end;
    end;

  • Golem (25.11.07 16:21) [8]
    Еще вопрос:
    при нажатии на кнопку "Х" сворачивается в трей нормально, а вот при нажатии "_" сворачивается в трей и на панель задач выскакивает кнопка проги (первоначально ее не было applet скрыт в onMinimize стоит applet.hide; form.hide;). после разворачивания проги из трея и повторного сворачивания с помощью "_", кнопка с панели задач исчезает и больше не появляется.
    Как заставить не появляться кнопку на панели задач после первого сворачивания с помощью "_" ???
  • Dimaxx © (25.11.07 16:25) [9]
    Restore?
  • Golem (26.11.07 22:00) [10]
    эээ, не понял...
 
Конференция "KOL" » Про TrayIcon [Delphi, Windows]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]