![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите!!! Два часа сижу вату катаю. Запарился уже. [D5, WinME]
TTCustomDelphiMaster © (2002-07-13 21:35:00)Делаю форму, которая должна работать по принципу формы инсталяшки, т.е. в режиме работы форма занимает весь экран (скрывает панель задач). При нажатии ctrl+esc появляется панель задач, соответственно с нее можно открыть любое окно и оно появится поверх моей формы. Про alt+tab итак понятно, как должно работать.
Так вот, окно расползается по эрану как тараканы, но и замочить его тоже непросто. При нажатии ctrl+esc панель задач не появляется а выскакивает только меню кнопки пуск. По alt+tab другие приложения активируются только под моим окном. Повесил строку снятия с top"а на кнопку - работает как часики.
И второе при нажатии на booton2 появляется message он должен находится поверх моего окна постоянно. С ним вообще запарка. Кода приложение активируется он улетает за главную форму и программы вырубается только ctrl+f2.
Вообщем вопрос такой, как все это делают лучшие программоведы?
Во избежание лишних вопросов и предположений привожу исходник этого безобразия.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
AppEvnts, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
ApplicationEvents1: TApplicationEvents;
procedure Button1Click(Sender: TObject);
procedure ApplicationEvents1Activate(Sender: TObject);
procedure ApplicationEvents1Deactivate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, Screen.Width, Screen.Height, SWP_SHOWWINDOW);
end;
procedure TForm1.ApplicationEvents1Activate(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, Screen.Width, Screen.Height, SWP_SHOWWINDOW);
end;
procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, Screen.Width, Screen.Height, SWP_SHOWWINDOW);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage("kfhfd");
end;
end.
TTCustomDelphiMaster (2002-07-14 16:03:00) [1]Что-то модератор разбушевался, начал удалять мои вопросы.
Ладно попробуем еще раз его вытащить навех.
TTCustomDelphiMaster (2002-07-14 11:59:00) [2]Вытаскиваю свой вопрос на верх. Мож кто ответит?
TTCustomDelphiMaster (2002-07-13 23:32:00) [3]Тут два байта по дороге пореялось
procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
SetWindowPos(Handle, HWND_ NOTOPMOST, 0, 0, Screen.Width, Screen.Height, SWP_SHOWWINDOW);
end;