Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
7 / 5 / 2
Регистрация: 25.05.2013
Сообщений: 112

Как вывести значок программы на панель задач, когда приложение стартует с НЕ главной формы

03.09.2016, 22:08. Показов 3112. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу на C++ Builder XE.

У меня в проекте есть 2 формы. Сначала запускается НЕ главная форма, в ней пользователь должен выбрать параметры, затем либо выйти из приложения, либо открывается главная форма с нужными выбранными параметрами.

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

Как вывести значок сразу при старте программы ?

Нашел в файле Project.cpp такую строчку:
C++
1
Application->MainFormOnTaskBar = true;
Но тут речь о главной форме. Как решается такая задача ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.09.2016, 22:08
Ответы с готовыми решениями:

Как поместить значок немодальной формы в панель задач?
У меня есть основная программа/форма, которая присутствует в средней части панели задач. Я открываю из нее другую форму, немодальную. ...

При скрытии главной формы пропадает значок на панели задач
Если скрыть первую форму, а вторую открыть то на панели задач приложение пропадёт. Как сделать так чтобы эта форма отображалась (как и...

Пропадает значок с панели задач при скрытии главной формы
Вопрос такой. Есть главная форма авторизации...если все успешно то открывается другая форма. Если я делаю form1.hide form2.show то...

4
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.09.2016, 01:38
Сделай главной вспомогательную форму в настройках проекта таким образом (см. скриншот)
Миниатюры
Как вывести значок программы на панель задач, когда приложение стартует с НЕ главной формы  
0
7 / 5 / 2
Регистрация: 25.05.2013
Сообщений: 112
04.09.2016, 03:04  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Сделай главной вспомогательную форму в настройках проекта таким образом (см. скриншот)
Это да, но когда Form2->Close(); то гаснет весь процесс, а делать Hide() - это не здорово, т.к. периодически на разных подвисаниях это окно может проявляться серого пятна на экране.
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
04.09.2016, 06:13
Вместо (или вместе с) Hide() перемести окно вспомогательной формы полностью за границы экрана. И пусть пятном проявляется хоть до посинения (все равно не видно).
Это как вариант, если нет возможности вспомогательную форму в панели задач отобразить.

Добавлено через 8 минут
Хотя вот решение на Delphi: http://www.cyberguru.ru/delphi... adach.html
Вот что вы можете сделать, чтобы заставить форму Delphi иметь кнопку на панели задач:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
type
TForm2 = class(TForm)
private
{ Private declarations }
procedure CreateParams(VAR Params: TCreateParams);
override;
...
procedure TForm2.CreateParams(VAR Params: TCreateParams);
begin
Inherited CreateParams(Params);
WITH Params DO
ExStyle := ExStyle OR WS_EX_APPWINDOW;
end;
Обратите внимание, что мы делаем override. Вы можете написать просто Inherited, без указания имени метода (если оно совпадает с именем данного) и аргументов (в таком случае передаются в качестве аргументов исходные). Часто возникает противоположная по смыслу задача - убрать окна с панели задач (в случае, если они создаются в DLL). В таком случае используйте стиль WS_Ex_ToolWindow.
Добавлено через 1 час 18 минут
Или так (код должен отработать до того, как вспомогательная форма будет показана):
C++
1
2
  SetWindowLong(Form2->Handle, GWL_EXSTYLE,
                GetWindowLong(Form2->Handle, GWL_EXSTYLE) | WS_EX_APPWINDOW);
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33372 / 21498 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
04.09.2016, 11:37
Цитата Сообщение от Fastex007 Посмотреть сообщение
Сначала запускается НЕ главная форма
Вот код запуска НЕглавной формы нужно смотреть для начала. Скажем, если сделать так:

C++
1
2
3
4
5
6
7
8
9
10
// файл unit2.h
class TForm2 : public TForm
{
__published:    // IDE-managed Components
    // ...
private:
public:
    __fastcall TForm2(TComponent* Owner);
    static bool __fastcall Execute(); // <--- 
};
+
C++
1
2
3
4
5
6
7
8
// файл unit2.cpp
bool __fastcall TForm2::Execute()
{
    TForm2 *frm = new TForm2(0);
    bool Result = frm->ShowModal() == mrOk;
    delete frm;
    return Result; // Возвращаем статус
}
+
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// файл проекта
        if(TForm2::Execute())
        {
         Application->Initialize();
         Application->MainFormOnTaskBar = true;
         Application->CreateForm(__classid(TForm1), &Form1);
         Application->Run();
        }
        else
        {
            // иначе показываем сообщение о невозможности войти в программу,
            // и приложение завершается, не создавая никаких форм
            Application->MessageBox(
                _T("Вы не можете пользоваться приложением, так как не прошли авторизацию"),
                _T("Защита приложения")
            );
        }
, то в таскбаре будет значок дополнительной формы, а потом, когда (и если) откроется главная - то и главной...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.09.2016, 11:37
Помогаю со студенческими работами здесь

Не убирать значок программы на панели задач при открытии второй формы (XE2)
Проблема такова: при открытии 2ой формы (и скрытии 1ой) убирается значок с панели задач, восстанавливается только при открытии 1ой формы....

Как свернуть в панель задач стороннее приложение?
Здравствуйте. Подскажите пожалуйста. Как свернуть стороннюю программу в панель задач? Необходимо, чтобы после того как, моя программа в...

Как внедрить свое приложение в панель задач Windows
Здравствуйте! Подскажите, а реально ли на данном языке написать приложение, которое бы можно было встроить как панель в панель задач? К...

Delphi 7. Как свернуть формы в панель задач?
Доброго времени суток! У меня такой вопрос: &quot;Как сделать, чтобы форма, не являющаяся главной при минимизации сворачивалась не в левый...

Когда с одного окна я вызываю другое, то его значок исчезает из панели задач
1) Когда с одного окна я вызываю другое то оно исчезает из панели задач (панели задач - это такая полоска самого низа там где пуск,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru