Текущий архив: 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