Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > развернуть, но не фокусировать


Автор: stab 14.9.2003, 22:26
Как развернуть свернутое в панель задач окно, но:
1. Не давать ему фокус.
2. Не показывать поверх всех окон.

Автор: Baa 14.9.2003, 23:42
Код

procedure TForm1.Button1Click(Sender: TObject);
var
 hUntitled: HWND;
begin
 hUntitled := FindWindow (nil, 'Untitled');
 ShowWindow (hUntitled, SW_SHOWNOACTIVATE);
end;

Автор: stab 15.9.2003, 00:37
хм, все так просто smile.gif еще вопрос: а как избавится от анимации при разворачивании?

Автор: Baa 15.9.2003, 00:40
Код

procedure TForm1.Button1Click(Sender: TObject);
var
hUntitled: HWND;
begin
hUntitled := FindWindow (nil, 'Untitled');
ShowWindow (hUntitled, SW_HIDE);
ShowWindow (hUntitled, SW_SHOWNOACTIVATE);
end;

з.ы. все гениальное - простынь smile.gif

Автор: stab 15.9.2003, 00:51
а я так придумал:

Код
procedure TForm1.Button1Click(Sender: TObject);
var
hUntitled: HWND;
wp: WINDOWPLACEMENT;
begin
 hUntitled := FindWindow (nil, 'Untitled');
 wp.length := SizeOf(wp);
 GetWindowPlacement(hUntitled, @wp);
 wp.showCmd := SW_SHOWNOACTIVATE;
 SetWindowPlacement(hUntitled, @wp);
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)