Панель задач

Тема в разделе "Delphi - FAQ", создана пользователем DriveSoftware, 22 янв 2004.

Статус темы:
Закрыта.
  1. DriveSoftware

    DriveSoftware Гость

    Пытаюсь выставить нужные размеры в панели задач, но они все время возвращаются к исходным значения (через секунду), как зафиксировать их размеры??? под WinMe

    Код (Text):
    procedure TForm1.GetHandles;
    begin
    hSysTab:=FindWindow('Shell_TrayWnd', nil);
    hSysTab:=FindWindowEx(hSysTab, 0, 'ReBarWindow32', nil); {панель задач}

    hTray:=FindWindow('Shell_TrayWnd', nil);
    hTray:=FindWindowEx(hTray, 0, 'TrayNotifyWnd', nil); {иконки в трее с часами}

    hTime:=FindWindow('Shell_TrayWnd', nil);
    hTime:=FindWindowEx(hTime, 0, 'TrayNotifyWnd', nil);
    hTime:=FindWindowEx(hTime, 0, 'TrayClockWClass', nil); {часы}
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    GetHandles; {получаем хендлы}
    SetWindowPos(hSysTab, 0, 0, 0, 794, 22, SWP_NOMOVE);  {меняем размеры панели задач}
    SetWindowPos(hTray, 0, 855, 0, 165, 22, SWP_SHOWWINDOW); {размер и позицию иконок с часами}
    SetWindowPos(hTime, 0, 0, 0, 102, 20, SWP_NOMOVE); {размер часов}
    end;
    хочу вместо стандартных часов в трее запихнуть свои, но большего размера :D
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    DriveSoftware
    Вообще-то трудно сказать :)
    Можно посадить это на таймер. Можно ловить сообщение WM_SIZE от 'TrayClockWClass'.
    А знаешь часики Chameleon Clock? Может просто поинтересоваться у Юры Герасимова как он это сделал?
     
  3. DriveSoftware

    DriveSoftware Гость

    Серёга

    Знаю и того и другого, переписывался :) Придется поинтересоваться.
    Хорошие часики, делал я что то наподобие, точнее один в один, плагиат млин, проект закрыл.
    Надеюсь он не пощитает плагиатом мой компонент, ведь он тоже один в один :)
     
  4. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    DriveSoftware
    Ну как там с часиками :) Кстати я так подумал. Проблему можно только хуком рещить видимо.
     
  5. DriveSoftware

    DriveSoftware Гость

    Серёга


    возможно, но у Chameleon Clock думаю что сделано по другому, он просто останавливает работу часов, в этом можно убедиться если минуты на две засунуть часы в трей, потом убрать и они покажут старое время.
     
  6. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    DriveSoftware
    Не знаю. Я вот сделал уже хук. От через WinAPI рисует время вместо стандартных часов. Главное работет. Надо всего лишь обрабатывать message WM_USER+100 :) Это значит что винда ожидает ресайза часиков.
     
Загрузка...
Похожие Темы - Панель задач
  1. serg24
    Ответов:
    1
    Просмотров:
    2.830
  2. Надя1972
    Ответов:
    2
    Просмотров:
    1.096
  3. alekssgor
    Ответов:
    0
    Просмотров:
    2.359
  4. Medevic
    Ответов:
    2
    Просмотров:
    2.073
  5. Artur1987
    Ответов:
    1
    Просмотров:
    2.364
Статус темы:
Закрыта.

Поделиться этой страницей