Перейти к содержимому

Фотография

Delphi помогите


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 18

#1
Painkiller

Painkiller
  • Гость
  • 14 сообщений
Кто нить помогите
Программеры. напишите пожалуйста команду как сворачивать в системную трею
Зарание СПАСИБО!!!
  • 0

#2
egoist

egoist

  • В доску свой
  • 3 895 сообщений
Для работы с треем есть функция, описанная в юните ShellAPI.pas: Shell_NotifyIcon(dwMessage: Cardinal; IpData: PNotifyIconDataA).

dwMessage: Переменная может принимать 3 значения: NIM_ADD, NIM_MODIFY, NIM_DELETE. При dwMessage = NIM_ADD, иконка добавляется в Tray; при dwMessage = NIM_MODIFY иконка обновляется и при dwMessage = NIM_DELETE удаляется из Tray Bar.

IpData: Это ссылка на переменную типа NOTIFYICONDATAA, которая представляет из себя запись из следующих полей:
cbSize: DWORD;
Wnd: HWND;
uID: UINT;
uFlags: UINT;
uCallbackMessage: UINT;
hIcon: HICON;
szTip: array [0..63] of AnsiChar.

cbSize ? Размер записи. Его надо определить, как SizeOf(NOTIFYICONDATA).
Wnd ? Дескриптор окна, которое будет получать сообщения от иконки в Tray Bar.
uID ? Идентификатор вашей иконки (её номер).
uFlags ? Свойства иконки. Может принимать значение NIF_ICON, NIF_MESSAGE, NIF_TIP (что-то одно: только видна иконка без всплывающей подсказки, обработка сообщений или одна подсказка). А также может быть и (NIF_ICON or NIF_MESSAGE or NIF_TIP), т.е. полноценная Tray иконка, поддерживающая сообщения системы, видимую иконку и подсказку по наведению курсора на неё.
uCallbackMessage ? Сообщение, адресованное окну, выбранному в свойстве Wnd.
hIcon ? Дескриптор иконки, которую надо изобразить в Tray Bar-е.
szTipe ? Текст всплывающей подсказке у иконки.

uses SysUtils, Windows, ShellAPI;

{добавление иконки}
function DZAddTrayIcon(const Window: HWND; const IconID: Byte; const Icon: HICON; const Hint: String = ''): Boolean;
var 
  NID : NotifyIconData;
begin
  FillChar(NID, SizeOf(NotifyIconData), 0);
  with NID do begin
	cbSize := SizeOf(NotifyIconData);
	Wnd := Window;
	uID := IconID;
	if Hint = '' then begin
	  uFlags := NIF_ICON;
	end{if} else begin
	  uFlags := NIF_ICON or NIF_TIP;
	  StrPCopy(szTip, Hint);
	end{else};
	hIcon := Icon;
  end{with};
  Result := Shell_NotifyIcon(NIM_ADD, @NID);
end;

{добавляет иконку с call-back сообщением}
function DZAddTrayIconMsg(const Window: HWND; const IconID: Byte; const Icon: HICON; const Msg: Cardinal; const Hint: String = ''): Boolean;
var
  NID : NotifyIconData;
begin
  FillChar(NID, SizeOf(NotifyIconData), 0);
  with NID do begin
	cbSize := SizeOf(NotifyIconData);
	Wnd := Window;
	uID := IconID;
	if Hint = '' then begin
	  uFlags := NIF_ICON or NIF_MESSAGE;
	end{if} else begin
	  uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
	  StrPCopy(szTip, Hint);
	end{else};
	uCallbackMessage := Msg;
	hIcon := Icon;
  end{with};
  Result := Shell_NotifyIcon(NIM_ADD, @NID);
end;

{удаляет иконку}
function DZRemoveTrayIcon(const Window: HWND; const IconID: Byte): Boolean;
var
  NID : NotifyIconData;
begin
  FillChar(NID, SizeOf(NotifyIconData), 0);
  with NID do begin
	cbSize := SizeOf(NotifyIconData);
	Wnd := Window;
	uID := IconID;
  end{with};
  Result := Shell_NotifyIcon(NIM_DELETE, @NID);
end;
 

Сообщение отредактировал egoist: 30.12.2005, 09:45:00

  • 0

#3
chainyk

chainyk
  • Частый гость
  • 79 сообщений
Если не хочешь гемороя то используй компонент - CoolTrayIcon, реальная вещь. Что-бы свернуть в трай используй ети команды
Application.Minimize;
CoolTrayIcon1.HideMainForm;
а что-бы показать прогу
CoolTrayIcon1.ShowMainForm;
  • 0

#4
Painkiller

Painkiller
  • Гость
  • 14 сообщений
А где етот компонент взять??? :) :) :)
  • 0

#5
Sla5h

Sla5h
  • Гость
  • 14 сообщений
Можешь взять тут:
компонент fwtray http://xmagazine.hos...soft/fwtray.zip
или компонент TrayComp http://xmagazine.hos...ft/TrayComp.zip
  • 0

#6
Painkiller

Painkiller
  • Гость
  • 14 сообщений
Люди не знаете где ftpserv (компонент) взять
киньте плиз ссылочку
  • 0

#7
Sla5h

Sla5h
  • Гость
  • 14 сообщений
Используй компонент вкладки Indy Servers - idFtpServer
  • 0

#8
Painkiller

Painkiller
  • Гость
  • 14 сообщений
у меня такой вкладки нету :laugh:
  • 0

#9
Sla5h

Sla5h
  • Гость
  • 14 сообщений
ты используешь какую версию Дельфи?
  • 0

#10
Painkiller

Painkiller
  • Гость
  • 14 сообщений
шестую
  • 0

#11
Sla5h

Sla5h
  • Гость
  • 14 сообщений
По каким причинам ты стал использовать шестую версию дельфи?
Лучше юзай семерку и проблем с такими компонентами не возникнет. Или у тебя просто напросто нету инсталяшки 7 версии? (хотя это уж полная чушь :laugh:)
  • 0

#12
Painkiller

Painkiller
  • Гость
  • 14 сообщений
Нету инсталяшки
  • 0

#13
Painkiller

Painkiller
  • Гость
  • 14 сообщений
А скока весит инсталяшка 7 версии?
  • 0

#14
Sla5h

Sla5h
  • Гость
  • 14 сообщений
Ну у меня она весит 243 Мб, при том что это все запакавонно в архив.
  • 0

#15
Sla5h

Sla5h
  • Гость
  • 14 сообщений
Достань у кого нить на диске или сам купи себе диск с 7 версией. Юлаго счас на каждом шагу такого софта.
  • 0

#16
Rabbano

Rabbano
  • Читатель
  • 383 сообщений
есть у когонить Fast Report для D7?

#17
Painkiller

Painkiller
  • Гость
  • 14 сообщений
Скиньте кто нибудь indy servers на мыло alexey_k@mail.kz
  • 0

#18
nosiop

nosiop
  • Гость
  • 47 сообщений

Скиньте кто нибудь indy servers на мыло alexey_k@mail.kz

Как это кинуть? Ты в смысле хочешь с 7-ой версии компоненты использовать в 6-ой? Вряд ли получится:laugh: Ищи альтернативные компоненты, зайди на http://www.delphimaster.ru, кроме того в сети полно ресурсов с VCl'ом. Вооружись Yandex'ом или Aport'ом, как нравится и ищи.....
  • 0

#19
Baron D' Krot

Baron D' Krot
  • Гость
  • 30 сообщений

у меня такой вкладки нету :smoke:


есть.... компанент называется IdTrivialFTPServer...
искать надо лучше...

Delphi 6 rylezzzz Delphi 7 Suck
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.