Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как обработать минимизацию формы? Как обработать минимизацию формы? 
:(
    Опции темы
Cyri
Дата 14.12.2004, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 23.7.2004

Репутация: нет
Всего: нет



Народ, как обработать нажатие кнопки Минимайз формы? Ну и Максимайз заодно.
Кирилл
PM MAIL   Вверх
Vladimir13
Дата 14.12.2004, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



Form1.Windowstate:=wsminimized;
Form1.Windowstate:=wsnormal;
form1.windowsstate:=wsMinimized;
Добавлено @ 14:34
т.е. if Form1.Windowstate:=wsminmized then ... это и будет соответствовать нажатию на _
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
Rennigth
Дата 14.12.2004, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



если инете поискать можно найти довольно приличные апгдэйды на RichEdit с реализацией гиперссылок.



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Vladimir13
Дата 14.12.2004, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



if Form1.BorderIcons=[biMinimize] then Form1.close;
этот код закрывает форму при нажатии на _.

Извиняюсь за неправильный ответ, не понял вопроса.
Добавлено @ 16:00
Rennigth а причем здесь RichEdit и апгрейды к нему? smile
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
Bes
Дата 14.12.2004, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 5
Всего: 7



Может обрабатывать событие формы OnResize после чего проверять св-во Form1.Windowstate
?
PM MAIL   Вверх
Vladimir13
Дата 14.12.2004, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



[/size] НАРОД !!!![size=1] обратите внимание на эту тему !!! Ничего из предложенного не работает !!!
Нужны свежие мысли !!!
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
Vladimir13
Дата 14.12.2004, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



Единственное решение которое приходит на ум: сделать Form1.BorderStyle:=bsNone;
создать панель, на которой расположить 3 SpeedButton'а c картинками _ , х , и квадратик. Им присвоить соответствующие свойства. Так отслеживать легко.
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
Marriage
Дата 14.12.2004, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



Цитата

Единственное решение которое приходит на ум: сделать Form1.BorderStyle:=bsNone;
создать панель, на которой расположить 3 SpeedButton'а c картинками _ , х , и квадратик. Им присвоить соответствующие свойства. Так отслеживать легко.



smile

Код




unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 private
  procedure WMSysCommand(var Msg: TWMSysCommand);
  message WM_SYSCOMMAND;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSysCommand;
begin
      if (Msg.CmdType = SC_MINIMIZE)  then
      ShowMessage('Go minimize !!!!')
      else
       if  (Msg.CmdType = SC_MAXIMIZE) then
        ShowMessage('Go maximize !!!!')
        else
        inherited;
end;


end.




With help Delphi Word 6 smile



--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
Bes
Дата 15.12.2004, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 5
Всего: 7



2Marriage
Не тут-то было :-) форма не сворачивается и не разворачивается.
PM MAIL   Вверх
Cyri
Дата 15.12.2004, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 23.7.2004

Репутация: нет
Всего: нет



Цитата(Vladimir13 @ 14.12.2004, 19:31)
Единственное решение которое приходит на ум: сделать Form1.BorderStyle:=bsNone;
создать панель, на которой расположить 3 SpeedButton'а c картинками _ , х , и квадратик. Им присвоить соответствующие свойства. Так отслеживать легко.

Это хорошо. Но это-крайний выход. Всё-таки хотелось бы не так. Вроде бы мелочь, ан нет...
PM MAIL   Вверх
Bes
Дата 15.12.2004, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 5
Всего: 7



2Cyri,Vladimir13 :
Тем более, что даже если ты приделаешь эти кнопки, то форму еще можно минимизировать щелкнув на ней в панели управления или как там она внизу которая и ваш обработчик не среагирует...
Тут что-то другое надо. Сам думаю.. :-)

PM MAIL   Вверх
Snowy
Дата 15.12.2004, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Посмотрите этот топик:
http://forum.vingrad.ru/index.php?showtopic=31971
Там как раз отлавливается сворачивание окна. После сворачивания окно насильно восстанавливается обратно.

Отловить сворачивание просто. Кладем на форму TApplicationEvent.
Вот у него уже есть события:
OnMinimize
OnRestore
OnActionExecute
OnActionUpdate
OnActivate
OnDeactivate
OnException
OnHelp
OnHint
OnIdle
OnMessage
OnSettingChange
OnShortCut
OnShowHint

Это сообщение отредактировал(а) Snowy - 15.12.2004, 09:58
PM MAIL   Вверх
Guest
Дата 15.12.2004, 10:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

2Marriage
Не тут-то было :-) форма не сворачивается и не разворачивается.


Можно было бы и догадаться smile




Код

unit Unit1;

interface

uses
Windows, Messages, SysUtils,  Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
 procedure WMSysCommand(var Msg: TWMSysCommand);
 message WM_SYSCOMMAND;
public
  { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSysCommand;
begin
     if (Msg.CmdType = SC_MINIMIZE)  then
      BEgin
       ShowMessage('Go minimize !!!!');
       inherited;
      End
     else
      if  (Msg.CmdType = SC_MAXIMIZE) then
       BEgin
        ShowMessage('Go maximize !!!!');
        inherited;
       end
       else
       inherited;
end;


end.


  Вверх
Marriage
Дата 15.12.2004, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



Забыл войти под своим именем ...
Вот теперь все должно работать !!!!


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
Vladimir13
Дата 16.12.2004, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



мой способ хоть и примитивен, но работает smile .
Простота - залог успеха!
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0847 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.