Главная страница
    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
4-20360
sosv
2003-05-04 16:02
2003.07.07
hook wh_mouse


8-20166
[Baradoo]
2003-03-20 22:05
2003.07.07
Использование эффектов (Echo,Flanger...) с помощью DirectSound


9-19944
Pauchok
2002-11-30 03:41
2003.07.07
Помогите новичку (DelphiX)


14-20209
SMKRZ
2003-06-22 00:20
2003.07.07
Cross Over


3-19963
_Alex_
2003-06-11 19:52
2003.07.07
Числа с плавающей точкой из базы Access





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