Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Как минимизироваться в панель задач?   Найти похожие ветки 

 
seregin2   (2004-07-30 10:32) [0]

Всем привет!
Я создаю окно динамически. Потом запускаю его с помощью ShowModal. Автоматически создаваемых окон в приложении нет, таким образом это окно - единственное. BorderStyle:= vbSingle, BorderIcons:= [biMinimize, biSystemMenu]. Когда сворачиваю его кнопкой или из системного меню, то оно сворачивается на Рабочий стол (как MDIChild в MDI-приложениях, только оные сворачиваются в рабочей области MDIForm). Если сворачиваю через кнопку окна на Панели задач, то сворачивается в Панель задач.
Как мне сделать, чтобы оно сворачивалось ВСЕГДА в Панель задач?


 
seregin2   (2004-07-30 10:37) [1]

О! Так свораиваются окошки в Delphi! :-)
(чтобы легче было понятно сидячим тут)


 
Sancho ©   (2004-07-30 10:49) [2]

Попробуй Application.CreateForm, не уверен что поможет это лишь предположение, но этот метод делает первую форму которую создает главной формой приложения (Application.MainForm)


 
GuAV ©   (2004-07-30 10:49) [3]

Вот так вроде получается.
program Project1;

uses
 Forms;

{$R *.res}

var F: TForm;

begin
//  F:=TForm.Create(nil);       // так не работает
 with Application do CreateForm(TForm, F); // так работает
 with F do
 try
   ShowModal;
 finally
   Free;
 end;
end.

А вообще имхо нужно делать так, как это делается обычно, т.е. создавать обычную форму в дезайнтайме (возможно и пустую), ...


 
TUser ©   (2004-07-30 11:08) [4]

Перепиши CreateParams, там добавь
Params.ExStyle:=Params.ExStyle or WS_EX_APPWINDOW;
{кажется так, подробнее - в Windows.pas}
Правда для модальной формы не уверен. Но попробуй, если прокатит - нам скажешь.


 
seregin2   (2004-07-30 12:29) [5]

пришел с обеда... сэнкс... CreateForm не поможет - она DFM ищет - у меня его нет - форма динамическая.
WS_EX_APPWINDOW сейчас попробую, спасибо


 
TUser ©   (2004-07-30 12:38) [6]

В моем понимании динмическая форма - это такая, которую ты описал но не вызываешь конструктора. А ты ее прямо как TForm создаешь? Я думаю, поще написать наследника, убрать его из AutoCreate.


 
seregin2   (2004-07-30 12:44) [7]

> TUser
у меня наследник, но уже неважно, мне EX_APPWINDOW помог. Спасибо!


 
Kurtevich   (2004-07-30 12:44) [8]

MyForm.OnHide() или OnDeactivate();
begin
 if WindowState = wsMinimized then
    Application.Minimize;
end;


... не уверен насчет правильности имен ...


 
seregin2   (2004-07-30 14:05) [9]

блин, WS_EX_APPWINDOW помог, но теперь появляется еще одна кнопка на Панели задач!

и Application.Minimize работает не так - окно коряво минимизируется, но ладно. Оно восстанавливается в свернутое окно на Рабочем столе.

Если поставить и WS_EX_APPWINDOW и Application.Minimize, то вообще ерунда творится.

Такое ощущение, что у Application есть еще одно скрытое окно(MainForm в моем приложении нет).


 
seregin2   (2004-07-30 14:29) [10]

Все, разобрался.
Не нужно стиль трогать, не нужно Minimize обрабатывать, нужно наследовать от TCustomForm.
Большое спасибо всем, принявшим живое участие :)


 
seregin2   (2004-07-30 14:34) [11]

пардон, от TCustomForm и WS_EX_APPWINDOW! TUser - отдельный сенкс!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
3-1090452138
sashapont
2004-07-22 03:22
2004.08.15
Сумма всех ячеек


1-1091166407
П7
2004-07-30 09:46
2004.08.15
Элементы TTreeView и Drag n Drop


1-1091204566
jenbond
2004-07-30 20:22
2004.08.15
Получению курса валюты


3-1090565839
Katya_mgkit
2004-07-23 10:57
2004.08.15
UDB


14-1090590223
Baron
2004-07-23 17:43
2004.08.15
Информативный хлам.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский