Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.07;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.006 c
1-20036
Seldon
2003-06-25 00:36
2003.07.07
Как сообщить о DblClick


4-20355
DVM
2003-05-07 14:28
2003.07.07
Drag&Drop файлов из своей программы во внешние приложения.


3-19982
linker
2003-06-10 12:59
2003.07.07
pdf и Blob


7-20323
fishca
2003-04-25 11:19
2003.07.07
OLE Automation


14-20253
Кен
2003-06-18 03:46
2003.07.07
А где можно скачать дополнительных форм к Дельфи. Типа AboutBox и





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский