imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 25.02.2005, 23:00     # 1
anakarn
Banned
 
Аватар для anakarn
 
Регистрация: 06.11.2004
Сообщения: 135

anakarn Убей себяanakarn Убей себяanakarn Убей себя
Delphi: Скрыть окно при минимизации

Нужно, чтобы по нажатию клавиши в шапке окна Свернуть окно на самом деле не сворачивалось, а пряталось.
Пробовал использовать ShowWindow - в событии OnMinimize - оказалось, сначала сворачивает, а потом посылает окну сообщение

Пробовал в форме на событии OnClick проверять координаты мыши: совпадают ли они с кнопкой сворачивания в шапке окна. Но оказалось, что в Delphi шапка окна в форму не входит и поэтому это работает только при клике на форму, а при клике на шапке - ничего
anakarn вне форума  
Старый 25.02.2005, 23:40     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
а тебе обязательно, чтобы была стандартная шапка? если да, то читай Win32 API Reference в хелпе... если нет, то можно замастрячить свою шапку со своими кнопками...
/7y3uK вне форума  
Старый 26.02.2005, 12:31     # 3
f00rd
::VIP::
 
Аватар для f00rd
 
Регистрация: 11.06.2003
Адрес: Там...
Сообщения: 236

f00rd Популярный человек на этом форумеf00rd Популярный человек на этом форумеf00rd Популярный человек на этом форумеf00rd Популярный человек на этом форумеf00rd Популярный человек на этом форумеf00rd Популярный человек на этом форумеf00rd Популярный человек на этом форумеf00rd Популярный человек на этом форуме
Код:
TMainForm = class(TForm)
  ...
private
  { Private declarations }
  procedure WMSysCommandMy(var Message: TWMSysCommand); message WM_SYSCOMMAND;
public
  { Public declarations }
end;
...
procedure TMainForm.WMSysCommandMy;
begin
 with Message do
  begin
    if (CmdType and $FFF0 = SC_MINIMIZE) and (Application.MainForm = Self) then
      ShowMessage('Minimizing')
    else inherited;
  end;
end;
вместо ShowMessage('Minimizing') вставляешь что-то типа Self.Hide =))))
f00rd вне форума  
Старый 26.02.2005, 21:44     # 4
anakarn
Banned
 
Аватар для anakarn
 
Регистрация: 06.11.2004
Сообщения: 135

anakarn Убей себяanakarn Убей себяanakarn Убей себя
/7y3uK
Цитата:
можно замастрячить свою шапку со своими кнопками...
А как именно?
anakarn вне форума  
Старый 27.02.2005, 11:04     # 5
J. Bond
Guest
 
Сообщения: n/a

смотри в сторону сообщений WM_NCPAINT и WM_NCHITTEST
 
Старый 27.02.2005, 14:36     # 6
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
anakarn

ну если по простому, то делаешь у формы BorderStyle:=bsNone, делаешь панельку, с кнопами, выравниваешь эту панельку на Top и пишешь своим кнопам нужные обработчики обработчики...
/7y3uK вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:52.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.