|
Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема
|
Прозорец без обозначение в таск-бара
|
|
Автор |
Mixy (почетен член) |
Публикувано | 26.09.02 23:20 |
|
Как да стане тая работа? По-точно какво трябва да се направи за да имам приложение с главен прозорец, но без лентичката с името му в таскбара? Предполагам, че това има нещо общо със скрития прозорец на приложението, но съм без книгите си и останалите материали за Делфи и съм като с вързани ръце...
P.S. Още не съм решил какво трябва да става при натискане на Minimize, но съм отворен за идеи и съвети.
Mixy
| |
|
unit Unit1;
interface
uses
Windows, Forms, StdCtrls, Classes, Controls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure ShowMainForm;
procedure HideMainForm;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ShowMainForm;
begin
ShowWindow(Application.Handle, SW_RESTORE); //това скрива апликацията от таскбар
// ShowWindow(Application.MainForm.Handle, SW_RESTORE); //това скрива и главната форма, затова е и коментнато.
end;
procedure TForm1.HideMainForm;
begin
ShowWindow(Application.Handle, SW_HIDE); //респективно обратното...
// ShowWindow(Application.MainForm.Handle, SW_HIDE);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Tag = 0 then
Begin
HideMainForm;
Tag := 1;
End
else
Begin
ShowMainForm;
Tag := 0;
End;
end;
end.
та така - знаеш процедурата - New Application -> пляс един бутон, Copy & Paste :)
There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
| |
|
Мерси Котарак! Точно това ми трябваше.
Има само един малък проблем, дължащ се на Делфито, който все още не мога да разреша. При стартиране на приложението, за да скрия иконата от таскбара използвам следния код в OnShow на главната форма:
procedure TForm1.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;
Всичко работи нормално, но понякога се получава едно гадно премигване в таскбара, а именно иконата се появява за кратко и веднага изчезва след изпълнението на хендлъра. Това става за част от секундата на моя PII/350 MHz
и на по-бързи компютри сигурно изобщо не се забелязва. Едно решение е следния код на главната програма:
program Project1;
uses
Forms, Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.ShowMainForm:=false;
Application.CreateForm(TForm1, Form1);
ShowWindow(Application.MainForm.Handle, SW_RESTORE);
Application.Run;
end.
Проблема тука е, че Делфито "не знае", че формата му е показана. Формата се появява без премигване, но контролите наследници на TWinControl (които могат да приемат фокуса) не се показват. Това все пак върши идеална работа за splash screens - TLabel, TImage и др. си се показват нормално във формата, но на мен ми трябва за друга цел, като например прозоерца Display Properties от Control Panel, който си няма иконка в таскбара.
Както и да е, това не ми е фатално, само споделям дребните странични ефекти от директното викане на API функции в Делфи...
Мерси още веднъж! ![](http://i.dirbg.com/clubs/icons/wink.gif)
Mixy
| |
Тема
|
Re: Прозорец без обозначение в таск-бара
[re: Mixy]
|
|
Автор |
Waz Gaa (_) |
Публикувано | 29.09.02 23:01 |
|
Ima i po dobro reshenie. Promenqsh prozoreca da e EX_TOOL_WINDOW. Sq ne sum na PC-to mi i ne go znam kak e tochno, no promqsh parametrite na prozoreca i lujesh, che e toolwindow (da go nqma v taskbar-a) . slagash go na OnCreate
by Waz Gaa
| |
Тема
|
Re: Прозорец без обозначение в таск-бара
[re: Mixy]
|
|
Автор |
Pechenia (нема лабаво ;-) |
Публикувано | 30.09.02 11:20 |
|
Друг забавен начин е да регистрираш процеса като системен с RegisterServiceProcess. Тогава скатаването не е само от таск бара, ами и от таск листа. Разбира се, далаверата е за Win 9.x
чети и дишай по-леко
| |
Тема
|
Re: Прозорец без обозначение в таск-бара
[re: Waz Gaa]
|
|
Автор |
Mixy (почетен член) |
Публикувано | 30.09.02 23:28 |
|
ОК, ще го пробвам. Мерси
Дано само джама да не стане с тясна заглавна лента (titlebar) ![](http://i.dirbg.com/clubs/icons/smile.gif)
Mixy
| |
Тема
|
Re: Прозорец без обозначение в таск-бара
[re: Pechenia]
|
|
Автор |
Mixy (почетен член) |
Публикувано | 30.09.02 23:32 |
|
BTW, и за това щях да питам, ти ме изпревари Мерси!
> Разбира се, далаверата е за Win 9.x - това значи ли, че функцията ще изгърми под NT/2000/XP? И какво става при търсене с FindWindow?
Mixy
| |
|
просто ще се вижда :)
There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
| |
Тема
|
Re: Прозорец без обозначение в таск-бара
[re: Mixy]
|
|
Автор |
SDR (TaskMaster) |
Публикувано | 03.10.02 16:50 |
|
Zabranqwash minimize i si reshawash problema
inache naj dobrata ideq e minimize-to-tray
------------------------------
I got a COMPILER, and I'm not afraid to use it!
| |
Тема
|
Re: Прозорец без обозначение в таск-бара
[re: SDR]
|
|
Автор |
Mixy (почетен член) |
Публикувано | 03.10.02 22:59 |
|
Да, забраната за минимизиране май е най-доброто решение ![](http://i.dirbg.com/clubs/icons/smile.gif)
Mixy
| |
|
Страници по тази тема: 1 | 2 | >> (покажи всички)
|
|
|