Форум: "Основная";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];
ВнизКак заставить таскбар развернуться, чтобы показать все иконки? Найти похожие ветки
← →
dmitry_12_08_74 (2008-08-15 12:34) [0]Можно сделать так, чтобы таскбар разворачивался для показа всех скрытых иконок?
← →
DVM © (2008-08-15 12:35) [1]можно
← →
dmitry_12_08_74 (2008-08-15 12:43) [2]Спасибо за ответ, но как именно можно это сделать?
← →
DVM © (2008-08-15 12:51) [3]
> dmitry_12_08_74
Речь идет о показе скрытых иконок в области уведомлений? (там где часики?)
← →
DVM © (2008-08-15 13:06) [4]Ладно, я сегодня добрый:
Варианта собственно три:
1 вариант.
Оболочка и собственно панель задач представляет собой набор COM объектов. Если найти нужный интерфейс (в MSDN) и посмотреть его методы, то наверняка среди них будет будет ответственный за скрытие/показ всех иконок в области уведомлений.
2. вариант.
Эксплорер считывает значение "Скрывать неиспользуемые иконки" из реестра. Если поменять значение в реестре, и заставить эксплорер перечитать это значение то получится то что требуется. Само значение лежит тут:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
EnableAutoTray REG_DWORD 0 or 1
3. Вариант.
Иммитрировать нажатие кнопки "Показать все иконки":
procedure TForm1.Button1Click(Sender: TObject);
var
Wnd: THandle;
begin
Wnd := FindWindow("Shell_TrayWnd", nil);
if Wnd <> 0 then
begin
Wnd := FindWindowEx(Wnd, HWND(0), "TrayNotifyWnd", nil);
if Wnd <> 0 then
SendMessage(Wnd, WM_COMMAND, 1502, 0);
end;
end;
← →
dmitry_12_08_74 (2008-08-15 13:13) [5]DVM, Большое Вам спасибо
← →
dmitry_12_08_74 (2008-08-15 14:23) [6]Выбрал 3-й вариант, но получается, что при повторном нажатии на кнопку иконка опять скрывается, а хотелось бы, чтобы такого не происходило
← →
DVM © (2008-08-15 14:45) [7]
> dmitry_12_08_74
а зачем тебе это нужно? Ты хочешь чтобы твоя иконка в области уведомлений всегда была в поле зрения?
← →
dmitry_12_08_74 (2008-08-15 15:41) [8]Я хочу, чтобы иконка была всегда видимой когда над ней всплывает хинт. Хинты приходится отображать несколько раз. Поэтому Ваш 3-й вариант работает через раз: то иконка отобразится, то исчезнет при отображении хинта.
← →
DVM © (2008-08-15 15:52) [9]
> dmitry_12_08_74 (15.08.08 15:41) [8]
Тогда предлагаю такой вариант:
Как известно если иконка скрыта, то она отображается, если ее изменяют. Пусть на такую же с тем же рисунком, но меняют, т.е. вызывают Shell_NotifyIcon( NIM_MODIFY, ....). Если все время модифицировать иконку, то она никогда не попадет в разряд скрываемых.
← →
dmitry_12_08_74 (2008-08-15 16:16) [10]спасибо, попробую
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c