Форум: "KOL";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
ВнизТрей Найти похожие ветки
← →
lamachok (2002-12-01 22:41) [0]блин, как свернуть в трей прогу??? Видел пример и в хелпе и тута статью, но все равно не могу свернуть. Вот пишу
program Project1;
uses
kol;
var
w:pcontrol;
Tric:pTrayIcon;
begin
Applet := NewApplet( "TstApp" );
W := NewForm( Applet, "Test" );
W.Icon := THandle( -1 );
TrIc := NewTrayIcon( Applet, THandle( -1 ));
TrIc.Icon := LoadIcon( hInstance, "MAINICON" );
TrIc.Tooltip := "This is test of TTrayIcon object";
TrIc.AutoRecreate := True;
Run( W );
end;
помогите кто чем может
← →
Bartov (2002-12-02 01:06) [1]Tric.Active := True;
Applet.Visible := FALSE;
Так лучше:
TrIc := NewTrayIcon( Applet, LoadIcon( hInstance, "MAINICON");
//TrIc.AutoRecreate := True;
← →
lamachok (2002-12-02 18:42) [2]1.как отловить находится ли курсор над моей иконкой в трее(не клик!!с кликом все OK)
2.блин скажите вот прога моя когда активна то
form.ExStyle:=WS_EX_TOPMOST;//поверх всех окон
а когда хочу ее Minimize то она сворачивается не до конца и поэтому надо отменить
на время form.ExStyle:=WS_EX_TOPMOST;
в form.OnMinimize:=TOnEvent( MakeMethod( nil, @mini ) );
как это зделать?? или скажите че попроще
← →
SPeller (2002-12-02 23:33) [3]SetWindowPos( Form.Handle, HWND_TOPMOST, 0, 0, 0, 0, GWL_NOMOVE or GVL_NOSIZE ); // "Поставить" TOPMOST;
SetWindowPos( Form.Handle, HWND_TOP, 0, 0, 0, 0, GWL_NOMOVE or GVL_NOSIZE ); // Убрать TOPMOST;
← →
lamachok (2002-12-03 01:02) [4]а че такое GWL_NOMOVE or GVL_NOSIZE...гы я такого чета не встречал??
← →
Gandalf (2002-12-03 15:13) [5]
> а че такое GWL_NOMOVE or GVL_NOSIZE...гы я такого чета не
> встречал??
Это чтобы вместе с установкой TOPMOST у тебя форма не двигалась с места (0,0) и рамер не меняла (0,0).
← →
lamachok (2002-12-03 18:31) [6]короче говоря хочу зделать прогу, которая при запуске отображается на панельке задач(там где пуск) и висит поверх всех окон, когда ее сворачивают она сворачивается в трей, т.е. на пенельке задачь ее нету, когда кликают по иконке в трее она восстанавливается, т.е. также видима в панельке задач и поверх всех окон.
[code]
program Project1;
uses
kol,
Windows, Messages;
{$R myres.res}
var
w:PCONTROL;
Tray:pTrayIcon;
Handle:hwnd;
procedure Mouse(dummy:pointer;sender:Tobject;Message:Word);
begin
if message = WM_LBUTTONUP then
begin
w.WindowState:=wsnormal;
tray.Free;
end;
end;
procedure mini;
begin
Tray := NewTrayIcon(w,loadicon(hinstance,("myicon"))) ; // Tray.OnMouse:=TOnTrayIconMouse(Makemethod(nil,@Mouse));
tray.Active:=true;
end;
begin
applet:=newapplet("");
w:=newform(applet,"");
w.OnMinimize:=TonEvent(Makemethod(nil,@mini));
run(w);
end.
[/code]
тута она неполностью сворачивается, всегда НЕ поверх окон, и вообще никогда не отображается на панельке задач...
Помагите кто чем может....может че я глючу???
2Gandalf я понимаю про раазмеры, я гоорю что он не понимает GWL_NOMOVE or GVL_NOSIZE
← →
Gandalf (2002-12-03 18:36) [7]
> 2Gandalf я понимаю про раазмеры, я гоорю что он не понимает
> GWL_NOMOVE or GVL_NOSIZE
Солидарен с компилятором - таких нет констант, есть
SWP_NOMOVE
иSWP_NOSIZE
← →
lamachok (2002-12-03 20:37) [8]фиг знает но когда пишу
procedure TForm1.Button1Click(Sender: TObject);
begin
SetWindowPos(form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);
end;
все хорошо, поверх всех окон, но когда пишу
program Project2;
uses
kol,windows;
var
w:pcontrol;
begin
w:=newform(applet,"Blina");
SetWindowPos(w.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);
run(w);
end.
то форма как обычная, не поверх окон...?
← →
SPeller (2002-12-03 23:43) [9]
> Солидарен с компилятором - таких нет констант, есть
> SWP_NOMOVE и SWP_NOSIZE
Ну с кем не бывает :-)) Дело не в префиксах, главное чтобы смысл был понятен.
← →
lamachok (2002-12-04 00:59) [10]умоляю ну кто-нить скажите как прогу написать.. плиз ... надо очень....
← →
Gandalf (2002-12-04 10:54) [11]Ну хотябы так
program Project2;
uses
kol,windows;
var
w:pcontrol;
procedure Mouse(dummy:pointer;sender:PObj);
begin
SetWindowPos(PControl(sender).Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);
end;
begin
w:=newform(applet,"Blina");
w.OnShow:=TonEvent(Makemethod(nil,@Mouse));
run(w);
end.
← →
lamachok (2002-12-04 15:16) [12]2Gandalf оогромное спасибо....ура!!!
хочу вот еще спросить как при сворачивании формы вырубить ее на на панельке задач, чтобы невидно было....если OnMinimize написать w.hide; то не помагает
← →
BorisMor (2002-12-04 15:34) [13]Applet.Hide
Applet.Show
← →
lamachok (2002-12-04 16:25) [14]2BorisMor пытался неподходит... если просто добавить в
begin
....
applet.hide;
....
end.
то спору нет исчезает.. но как этого добиться в момент когда прога сворачивается...
← →
BorisMor (2002-12-04 17:02) [15]У вас (как я понимаю) в трей программа при минимизации идет ?
Так ее и надо отслеживать.
Function DoMessage ( DummyObject: PControl; var Msg: TMsg; var Rslt:Integer ): Boolean;
begin
RESULT := FALSE;
IF (Msg.message = WM_SYSCOMMAND) and (Msg.wParam =SC_MINIMIZE) Then
begin
Applet.Hide ;
Main.Hide ;
RESULT := TRUE;
end;
end;
....
w.OnMessage :=TOnMessage(Makemethod(nil,@DoMessage));
а при щелчке по трею можно и показывать окно
Applet.Visible := true ;
Main.Visible := true ;
← →
BorisMor (2002-12-04 17:05) [16]Main это W :)
← →
lamachok (2002-12-04 17:41) [17]2BorisMor да ты все правильно понял... все ОК.. спасибо огромное
и напоследок хочу спросить
var
pr:pcontrol;
i:integer;
p:real;
.....
p:=100/i;
.....
pr:=NewProgressbarEx(w,[pboSmooth]);
pr.Position:=pr.Position+floattostr(p);
....
как все поняли ругается на floattostr(p), чем заменить???
← →
SPeller (2002-12-05 05:58) [18]Заменить на Round( p );
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c