Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизПомогите!!! Два часа сижу вату катаю. Запарился уже. Найти похожие ветки
← →
TTCustomDelphiMaster (2002-07-13 21:35) [0]Делаю форму, которая должна работать по принципу формы инсталяшки, т.е. в режиме работы форма занимает весь экран (скрывает панель задач). При нажатии 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-13 23:32) [1]Тут два байта по дороге пореялось
procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
SetWindowPos(Handle, HWND_ NOTOPMOST, 0, 0, Screen.Width, Screen.Height, SWP_SHOWWINDOW);
end;
← →
TTCustomDelphiMaster (2002-07-14 11:59) [2]Вытаскиваю свой вопрос на верх. Мож кто ответит?
← →
TTCustomDelphiMaster (2002-07-14 16:03) [3]Что-то модератор разбушевался, начал удалять мои вопросы.
Ладно попробуем еще раз его вытащить навех.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c