1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

Панель задач

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

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

    DriveSoftware Гость

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

    Код:
    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

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

    DriveSoftware Гость

    Репутация:
    0
    Серёга

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

    admin Well-Known Member

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

    DriveSoftware Гость

    Репутация:
    0
    Серёга


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

    admin Well-Known Member

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

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