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

Вниз

иконки   Найти похожие ветки 

 
hahol   (2007-06-12 20:17) [0]

у меня вот какая проблема - когда мое приложение сворачивается в tray  то иконка не прорисовывается
вернее прорисовывается но какаято пустая ,просто в трее появляется кусок пустого места с которым можно производить действия но иконки как токовой нет.
помогите плз.


 
Rouse_ ©   (2007-06-13 09:57) [1]

И как тебе помочь? Код покажи? Хотя ошибка у тебя явно в том что описатель иконки передаешь неверный в структуру или вообще не передаешь :)


 
hahol   (2007-06-13 12:59) [2]

...
var
 myclose:boolean=false;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var st:string;
   instance:thandle;
   cdsize:integer;
begin
if myclose=false then
begin
canclose:=false;{не закрываем}
myclose:=true;{а при следующем закроем}
fhandle:=allocateHwnd(WndProc);{получем дискриптор окна}
Hicon1:=(application.icon.hendle);{получем дискриптор иконки}
with noiconData do
begin
cdsize:=sizeof(tnotifyicondata);{размер структуры}
wnd:=fhandle;{размер структуры}
uid:=0;{т.к. единственная иконка}
uflags:=nif_message or nif_tip;{взводим все флаги}
sztip:="slide_show";{подсказка}
hicon:=hicon1;{дискриптор иконки}
ucallbackmessage:=ico_message;{определяемое пользователем сообщение}
end;
shell_notifyicon(nim_add,@noicondata);{создали иконку}
form1.Hide;
end else {если окно закрыть , т.е. если myclose=true}
begin
DeallocateHWnd(fhandle); {убераем из памяти дискриптор окна}
shell_Notifyicon(nim_delete,@noicondata);{удаляем иконку}
canclose:=true;{можно закрыть}
end;
end;

procedure TForm1.wndproc(var message: tmessage);
begin
if message.Msg = ico_message then
begin
if message.LParam=wm_lbuttonup then
begin
myclose:=false;
form1.Show;
application.BringToFront;
deallocatehwnd(fhandle);
shell_notifyicon(nim_delete,@noicondata);
application.ProcessMessages;
end;
if message.LParam=wm_rbuttonup then
form1.PopupMenu1.Popup(screen.Width-50,screen.Height-5);
end;
end;

procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
setforegroundWindow(form1.Handle);
end;

procedure TForm1.N11Click(Sender: TObject);
begin
myclose:=false;
form1.Show;
application.BringToFront;
deallocateHwnd(Fhandle);
shell_notifyicon(nim_Delete,@noicondata);
application.ProcessMessages;
end;


 
Rouse_ ©   (2007-06-13 23:20) [3]


> hicon:=hicon1;{дискриптор иконки}

Hicon1:=(application.icon.hendle); - это что за зверь?


 
hahol   (2007-06-14 11:17) [4]

ну апечатался немного
application.icon.handle  {дискриптор иконки}



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
15-1181245290
Rouse_
2007-06-07 23:41
2007.07.08
Инициативной группе посвящается.


4-1169737086
Nat
2007-01-25 17:58
2007.07.08
перехват данных, посылаемых на печать другой программой...


11-1164721449
KingMidas
2006-11-28 16:44
2007.07.08
Неправильная отрисовка прозрачности в KOLPng


15-1181023046
vajo
2007-06-05 09:57
2007.07.08
Excel 2003. Число прописью


2-1180960668
BFG9k
2007-06-04 16:37
2007.07.08
Найти application в сторонней программе