Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убивать окно в TaskBar? 
:(
    Опции темы
User
  Дата 14.4.2005, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 5.11.2004

Репутация: нет
Всего: нет



Добрый день господа программисты.
Вот написал небольшой код, который позволяет помещать в панели задач с права мою прогу, но не как не могу избавиться от того что бы она не висела в TaskBar. Кто знает как такое сделать? Помогите! smile
TaskBar - полоска внизу экрана, где есть кнопочки для запущенных приложений

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
    procedure WMIconClick(var Message: TMessage); message WM_USER+1;
    procedure WMSize(var Message: TWMShowWindow); message WM_SHOWWINDOW;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
var
  idat: NotifyIconDataA;
begin
  idat.cbSize := sizeof(idat);
  idat.Wnd := self.Handle;
  idat.uID := 1;
  idat.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
  idat.uCallbackMessage := WM_USER+1;
  idat.hIcon := Application.Icon.Handle;
  idat.szTip := 'Hello!!!';
  Shell_NotifyIcon(NIM_ADD,@idat);
end;

procedure TForm1.WMIconClick(var Message: TMessage);
begin
  if Message.LParam=WM_LBUTTONDBLCLK then
  begin
   ShowWindow(Application.Handle,SW_SHOW);
   Button2Click(self);
  end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
  idat: NotifyIconDataA;
begin
  idat.cbSize := sizeof(idat);
  idat.Wnd := self.Handle;
  idat.uID := 1;
  Shell_NotifyIcon(NIM_DELETE,@idat);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Button2Click(self);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
 if self.Visible = false then
 begin
   ShowWindow(Application.Handle,SW_HIDE);
   Button1Click(self);
 end;
end;

procedure TForm1.WMSize(var Message: TWMShowWindow);
begin
  if Message.Status=SW_PARENTCLOSING then
  begin
   ShowWindow(Application.Handle,SW_HIDE);
   Button1Click(self);
   Message.Result := 1;
  end;
end;

end.

PM MAIL WWW   Вверх
Александра
Дата 14.4.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 20.2.2005
Где: Москва

Репутация: 7
Всего: 12



User
ShowWindow(Application.Handle,SW_HIDE); прекрасно должно прятать твою кнопку.
--------------------
PM   Вверх
User
Дата 14.4.2005, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 5.11.2004

Репутация: нет
Всего: нет



И прячет токо не в тот момент когда надо, поэтому показывает ее снова. А я не знаю когда прятать надо.
PM MAIL WWW   Вверх
User
Дата 14.4.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 5.11.2004

Репутация: нет
Всего: нет



Идея проста, свертываем окно, минимизируем, из TaskBar пропадает все и появляется в SystemTray. И наоборот поднимаеим прогу (максисизируем) из SystemTray и появляется в TaskBar.
PM MAIL WWW   Вверх
Alex
Дата 14.4.2005, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Albinos_x
Дата 14.4.2005, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Код

program MyProg;

uses
  Forms,
  Windows,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Dimannn
Дата 15.4.2005, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



Cкачай компоненты RXlib. Там есть RXTrayIcon.


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
User
Дата 15.4.2005, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 5.11.2004

Репутация: нет
Всего: нет



Всем большущее спасибо
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1101 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.