Конференция "WinAPI" » Как поместить свою форму или кнопку на панель задач? [D6, WinXP]
 
  • Sirus (27.01.09 09:06) [0]
    Привет Мастера!
    В общем суть фопроса такова: Необходимо поместить своб форму или кнопку на панель задач (типа MediaPlayer).

    Кнопку или форму поместил, но проблема в том что у нее нет собственной панели на панели задач и кнопка (форма) перекрывает другие кнопки и панели.

    Вот код
    procedure TForm1.Button1Click(Sender: TObject);
     var h: HWND;
    begin
     h:=FindWindow('Shell_TrayWnd','');
     windows.SetParent(Button1.Handle,h);
     Button1.left:= 5;
     Button1.top:= 5;
    end;

  • Sirus (27.01.09 11:31) [1]
    Еще одни грабли :(
    Как только кнопка переносится на таскбар, сразу же теряется обработчик событий.
  • clickmaker © (27.01.09 14:21) [2]
    > сразу же теряется обработчик событий

    при клике сообщение WM_COMMAND шлется родительскому окну, которым, видимо, стал таскбар
    а он ничего не знает про VCL-контролы
  • avi9526 (29.01.09 00:41) [3]
    проблему с потерей сообщений можно решить (у меня работает) если к окну с кнопкой применить

    > windows.SetParent(Form1.Handle,h);
  • DVM © (29.01.09 22:36) [4]

    > В общем суть фопроса такова: Необходимо поместить своб форму
    > или кнопку на панель задач (типа MediaPlayer).

    У панели задач есть специальный API для этих целей. Он позволяет создавать плагины для панели задач, именно так MediaPlayer там и поселяется. Все подробно и с примерами расписано на MSDN В разделе про панель задач.
  • Sirus (30.01.09 11:58) [5]
    DVM ©   (29.01.09 22:36) [4]

    Нельзя ткнуть ссылкой, а то чет не могу найти там ничего похожего на решение моего вопроса :(
  • DVM © (31.01.09 18:00) [6]

    > Sirus   (30.01.09 11:58) [5]

    Ищи по слову IDeskBand
 
Конференция "WinAPI" » Как поместить свою форму или кнопку на панель задач? [D6, WinXP]
Есть новые Нет новых   [134435   +38][b:0][p:0.001]