Кнопку формы в панельку

Тема в разделе "Delphi - FAQ", создана пользователем stalker780, 11 дек 2003.

Статус темы:
Закрыта.
  1. stalker780

    stalker780 Гость

    procedure TForm2.FormCreate(Sender: TObject);
    begin
    SetWindowLong(handle, GWL_EXSTYLE, (GetWindowLong(handle, GWL_EXSTYLE) or WS_EX_APPWINDOW));
    end;

    Добавляем кнопку на панельку, но потом я не могу вернуться на глвную форму - она не активизируется.
    Как можно обойти эту проблему?

    Надо сделать что-то типа форм в TheBat "Прием почты" и "Редактирование сообщений", там они работают нормально.
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    stalker780
    Что значит?
    всё активизируется. только при минимизации окна кнопка исчезает и всё. Поясни более конкретно что не активизируется и в каком случае?
     
  3. stalker780

    stalker780 Гость

    Сори, не правильно изложил <_<
    Конкретнее:
    Есть проект с 2-мя формами (Form1 и Form2 и т.д.).
    При запуске приложения создается только Form1.
    На Form1 есть Button1.
    Button1 создет Form2 и отображает ее.
    На создание Form2 стоит вышеуказанная процедура.

    1. Мы запускаем приложение, в таскбаре появляется кнопка приложения (она же главной формы Form1).
    2. Кликаем на Button1
    3. Создается Form2 и выводится в таскбар.
    4. При попытке сделать Form1 активным нажатием на кнопку в таскбаре мы не получаем нифига.

    Вот...

    Мораль:
    Нажатие на кнопку приложения в таскбаре активизирует приложение, но НЕ главную форму, поскольку активная форма приложения уже есть.

    Цель:
    1. Надо сделать, чтобы нажатие на таскбаре на кнопку приложения активизировало не только приложение, но и главную форму.
    2. Чтобы при сворачивании приложения (главной формы Form1) кнопки других форм не прятались.
    3. Чтобы все это было в одном приложении.
     
  4. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    stalker780
    Брр. Жаль. Ухожу чейчас. Завтра гляну что там такое у тебя.
     
  5. Sir Alex

    Sir Alex Гость

    2 Stalker780
    Вот выдержка из MSDN:
    Другими словами нам надо создать окно без родителя:
    открываем юнит со второй формой, в секцию interface добавляем:
    Код (Text):
      protected
       procedure CreateParams(var Params: TCreateParams); override;
    в секцию implementation, добавляем:

    Код (Text):
    procedure TForm2.CreateParams(var Params: TCreateParams);
    begin
     inherited CreateParams(Params);
     Params.WndParent:=0;
    end;
    И все, никаких SetWindowLong использовать не надо.

    Успехов!
     
  6. stalker780

    stalker780 Гость

    Sir Alex
    Это уже больше похоже на то, что мне надо, но здесь еще один глюк вылез.

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

    Пробовал проделать с Form1 ту же процедуру + скрыть кнопку аппликухи вот так:
    program Project1;
    uses
    Forms,
    Windows,
    Unit1 in 'Unit1.pas' {Form1};

    {$R *.RES}

    var
    ExtendedStyle : integer;

    begin
    Application.Initialize;
    ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE); SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW {AND NOT WS_EX_APPWINDOW});
    Application.CreateForm(TForm1, Form1);
    Application.Run;
    end.

    Но тогда я главную форму вообще не могу свернуть :)
     
  7. Guest

    Guest Гость

    2 stalker780
    Нифига не понял.... То, что я тебе написал, работает как часы! Посмотри у себя код, может ты какие-то лишние команды выполняешь. У меня и главная форма и Form2 сворачиваются/разворачиваются без проблем.
     
  8. Sir Alex

    Sir Alex Гость

    Блин, дурацкая авторизация.... это я - Sir Alex
     
  9. stalker780

    stalker780 Гость

    Только что попробовал на голом проекте, вроде работает... Наверно правда, я намутил что-то, а может компоненты, которыя я юзаю...

    Но в любом случае спасибо, буду разбираться дальше.
     
Загрузка...
Похожие Темы - Кнопку формы панельку
  1. Shandrik
    Ответов:
    2
    Просмотров:
    521
  2. Shouldercannon
    Ответов:
    16
    Просмотров:
    1.782
  3. passwd
    Ответов:
    0
    Просмотров:
    1.096
  4. AndreyS
    Ответов:
    7
    Просмотров:
    2.385
  5. polsaimon
    Ответов:
    2
    Просмотров:
    2.556
Статус темы:
Закрыта.

Поделиться этой страницей