Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

Refresh hint on system tray icon...   Найти похожие ветки 

 
BillyJeans   (2003-06-25 10:34) [0]

модифицирую hint у ярлычка в трее (NIM_MODIFY), но он не изменяется, пока я не отведу, а затем снова наведу на него мышку... как мне online его зарефрешить?


 
Семен Сорокин   (2003-06-25 10:37) [1]

WM_MOUSEMOVE


 
BillyJeans   (2003-06-25 10:44) [2]


> Семен Сорокин © (25.06.03 10:37)


если можно поподробнее пожалуйста, ведь я хочу чтобы не двигая мышкой менялся hint...


 
Семен Сорокин   (2003-06-25 10:54) [3]


procedure RefreshTray;
const
IMG_SIZE = 16;
var
_x, _y : integer;
_wnd : HWnd;
_rect : TRect;
begin
_wnd := FindWindowEx(FindWindowEx(FindWindow("Shell_TrayWnd", nil), 0, "TrayNotifyWnd", nil), 0, "ToolbarWindow32", nil);
if GetClientRect(_wnd, _rect) then begin
TrW := ;
TrH := ;
_x := 1;
while _x < _rect.Right - _rect.Left do begin
_y := 1;
while _y < _rect.Bottom - _rect.Top do begin
SendMessage(_wnd, WM_MOUSEMOVE, 0, _x or (_y shl IMG_SIZE));
inc(_y, IMG_SIZE)
end;
inc(_x, IMG_SIZE)
end
end
end.


 
BillyJeans   (2003-06-25 11:04) [4]

но ведь это рефрешь всего трея, а если просто хинта?


 
BillyJeans   (2003-06-25 11:28) [5]

procedure RefreshTray; не отрабатывает положенного :(


 
Семен Сорокин   (2003-06-25 11:39) [6]

попробуй это (from Ученик (с))

function FindTrayWnd : HWnd;
var
szClassName : array[0..255] of Char;
begin
Result := FindWindow("Shell_TrayWnd", "");
if Result <> 0 then begin
Result := GetWindow(Result, GW_CHILD);
while Result <> 0 do begin
GetClassName(Result, szClassName, 255);
if StrIComp(szClassName, "TrayNotifyWnd") = 0 then
Exit
else
Result := GetWindow(Result, GW_HWNDNEXT)
end
end
end;

procedure RefreshTrayWnd;
var
i, j : Integer;
Rect : TRect;
SavePos : TPoint;
TrayWnd : HWnd;
begin
TrayWnd := FindTrayWnd;
if TrayWnd <> 0 then begin
GetCursorPos(SavePos);
ShowCursor(False);
GetWindowRect(TrayWnd, Rect);
i := Rect.Left + 5;
while i < Rect.Right do begin
j := Rect.Top + 5;
while j < Rect.Bottom do begin
SetCursorPos(i, j); Sleep(0);
Inc(j, 15)
end;
Inc(i, 15)
end;
SetCursorPos(SavePos.X, SavePos.Y);
ShowCursor(True)
end
end;


 
BillyJeans   (2003-06-25 14:18) [7]

а почему нельзя сделать что-то подобное:

Application.HideHint;
{set новые значения для ярлыка}
Shell_NotifyIcon(NIM_MODIFY, @nidata);
Application.ActivateHint(mouse.CursorPos);


 
BillyJeans   (2003-06-25 16:17) [8]

Братцы помогите.... погибаю, очень нужно



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
3-19995
nv-vetal
2003-06-13 11:12
2003.07.07
Delphi & MySQL. Ошибка при соединении - unable to load libmysql.d


1-20145
Armen
2003-06-25 02:49
2003.07.07
Kylix3 dso


1-20156
denis24
2003-06-25 11:33
2003.07.07
массив tEdit


1-20041
SkySlider
2003-06-23 18:27
2003.07.07
Печать листа Exel из Delphi?


3-19952
Artemij
2003-06-11 15:14
2003.07.07
Поля таблицы в Paradox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский