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

Вниз

иконка в трее без форм   Найти похожие ветки 

 
AHTOLLlKA   (2008-11-10 15:10) [40]


> А вот в [35] есть.Дело за малым - самомтоятельно дотумкать,
>  куда этот фрагмент приспособить.Задачка для школьника)

дак я же добавил это в
function WndProc(hWnd: HWND; Msg: UINT;  wParam: WPARAM;  lParam:
LPARAM): LRESULT; stdcall


 
Сергей М. ©   (2008-11-10 15:18) [41]


> AHTOLLlKA   (10.11.08 15:10) [40]


Вот как ты отформатировал, так и видно что "добавил".

Рууи бы поотрывать за такое форматирование текста программы !

Ну так что, диал.окно "test" открывается при елозаньи мышью в области иконки ?


 
AHTOLLlKA   (2008-11-10 15:21) [42]

в том то и дело что нет (((

и так же изчезает ((


 
Сергей М. ©   (2008-11-10 15:30) [43]

потому что у тебя h_Wnd = 0


 
Sapersky   (2008-11-10 16:33) [44]

http://sapersky.narod.ru/files/TrayIcon.rar

Не знаю, поможет или наоборот усугубит... :)


 
AHTOLLlKA   (2008-11-11 07:50) [45]

Спасибо тебе большое Sapersky!!!
это то что нужно... сейчас буду сидеть разбираться!
всем кто помогал спасибо что уделили время


 
Юрий Зотов ©   (2008-11-15 13:01) [46]

До кучи. Писал когда-то этот пример, лет 100 назад. Может, снова кому-то пригодится.

program TrayWithoutVCL;

{$M 1024, 1024}

uses
 Windows,
 Messages,
 ShellAPI;

const
 AppName = "WinApiTrayApp";
 WM_TRAYMSG = WM_USER + 100;

var
 WndClass: TWndClassEx;
 WndHandle: HWND = 0;
 Msg: TMsg;
 IconData: TNotifyIconData;
 IconMenu: HMENU = 0;
 SecondIcon: HICON;

function WndFunc(Wnd, Msg: DWORD; wParam, lParam: integer): integer; stdcall;
var
 P: TPoint;
begin
 case Msg of
   WM_DESTROY, WM_QUERYENDSESSION:
     begin
       Result := Integer(Msg = WM_QUERYENDSESSION);
       PostQuitMessage(0)
     end;
   WM_TRAYMSG:
     begin
       Result := 0;
       if (lParam = WM_RBUTTONDOWN) and GetCursorPos(P) then
       begin
         SetForegroundWindow(Wnd);
         TrackPopupMenuEx(IconMenu, 0, P.X, P.Y, Wnd, nil);
         PostMessage(Wnd, WM_NULL, 0, 0)
       end
     end;
   WM_COMMAND:
     begin
       Result := 0;
       case wParam and $FFFF of
         0: begin
              if IconData.hIcon = SecondIcon then
                IconData.hIcon := WndClass.hIcon
              else
                IconData.hIcon := SecondIcon;
              Shell_NotifyIcon(NIM_MODIFY, @IconData)
            end;
         1: PostMessage(Wnd, WM_CLOSE, 0, 0)
       end
     end;
   else
     Result := DefWindowProc(Wnd, Msg, wParam, lParam)
 end
end;

{ -------------------------------------------------------------------------------------------- }

begin { main }
 with WndClass do
 begin
   cbSize := SizeOf(WndClass);
   Style := CS_HREDRAW or CS_VREDRAW ;
   lpfnWndProc := @WndFunc;
   hIcon := LoadIcon(0, IDI_EXCLAMATION);
   hCursor := LoadCursor(0, IDC_ARROW);
   hbrBackground := hBrush(COLOR_WINDOW);
   lpszMenuName := nil;
   lpszClassName := AppName;
   hIconSm := hIcon
 end;
 WndClass.hInstance := hInstance;
 if RegisterClassEx(WndClass) = 0 then
   Exit;
 WndHandle := CreateWindowEx(WS_EX_TOOLWINDOW, AppName, AppName, WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, 0, 0, hInstance, nil);
 if WndHandle = 0 then
   Exit;
 with IconData do
 begin
   cbSize := SizeOf(IconData);
   Wnd:= WndHandle;
   uID := 100;
   uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
   uCallbackMessage := WM_TRAYMSG;
   hIcon:= WndClass.hIcon;
   szTip := AppName
 end;
 if Shell_NotifyIcon(NIM_ADD, @IconData) then
 try
   IconMenu := CreatePopupMenu;
   if IconMenu <> 0 then
   try
     if AppendMenu(IconMenu, MF_STRING, 0, "Сменить иконку") and
        AppendMenu(IconMenu, MF_STRING, 1, "Выход") then
     begin
       SecondIcon := LoadIcon(0, IDI_QUESTION);
       while GetMessage(Msg, 0, 0, 0) do
       begin
         TranslateMessage(Msg);
         DispatchMessage(Msg)
       end
     end
   finally
     DestroyMenu(IconMenu)
   end;
 finally
   Shell_NotifyIcon(NIM_DELETE, @IconData)
 end
end.


 
AHTOLLlKA   (2008-11-19 15:11) [47]

спасибо и вам Юрий!



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

Текущий архив: 2008.12.28;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.014 c
15-1225436622
Виталий Глуниц
2008-10-31 10:03
2008.12.28
Интеграция любого приложения в объект TObject


15-1224495980
Добежал
2008-10-20 13:46
2008.12.28
Vista и The Bat 2.x


15-1222763889
Добегался...
2008-09-30 12:38
2008.12.28
UPDATE / INSERT в одном флаконе


15-1225259080
Slider007
2008-10-29 08:44
2008.12.28
С днем рождения ! 29 октября 2008 среда


15-1225279267
pasha_golub
2008-10-29 14:21
2008.12.28
Английско-русский словарь терминов из области "Базы данных"