![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кнопки в заголовке окна. [D6]
DikobraZ © (2002-03-27 22:18:00)Как убрать кнопку развернуть и как кнопке свернуть присвоить функцию спрятать??
Юрий Зотов (2002-03-28 12:31:00) [1]> вместо SC_MINIMIZE можно написать просто число 61472
Но лучше этого не делать.
Kettle of delphi (2002-03-28 02:02:00) [2]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
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 Form1.Visible := false;
inherited;
end;
end.
Вот. Вместо SC_MINIMIZE может быть SC_MAXIMIZE, SC_CLOSE или что-нибудь еще. Вот, смотри (я это взял из модуля windows.pas):
{ System Menu Command Values }
{$EXTERNALSYM SC_SIZE}
SC_SIZE = 61440;
{$EXTERNALSYM SC_MOVE}
SC_MOVE = 61456;
{$EXTERNALSYM SC_MINIMIZE}
SC_MINIMIZE = 61472;
{$EXTERNALSYM SC_MAXIMIZE}
SC_MAXIMIZE = 61488;
{$EXTERNALSYM SC_NEXTWINDOW}
SC_NEXTWINDOW = 61504;
{$EXTERNALSYM SC_PREVWINDOW}
SC_PREVWINDOW = 61520;
{$EXTERNALSYM SC_CLOSE}
SC_CLOSE = 61536;
{$EXTERNALSYM SC_VSCROLL}
SC_VSCROLL = 61552;
{$EXTERNALSYM SC_HSCROLL}
SC_HSCROLL = 61568;
{$EXTERNALSYM SC_MOUSEMENU}
SC_MOUSEMENU = 61584;
{$EXTERNALSYM SC_KEYMENU}
SC_KEYMENU = 61696;
{$EXTERNALSYM SC_ARRANGE}
SC_ARRANGE = 61712;
{$EXTERNALSYM SC_RESTORE}
SC_RESTORE = 61728;
{$EXTERNALSYM SC_TASKLIST}
SC_TASKLIST = 61744;
{$EXTERNALSYM SC_SCREENSAVE}
SC_SCREENSAVE = 61760;
{$EXTERNALSYM SC_HOTKEY}
SC_HOTKEY = 61776;
{$EXTERNALSYM SC_DEFAULT}
SC_DEFAULT = 61792;
{$EXTERNALSYM SC_MONITORPOWER}
SC_MONITORPOWER = 61808;
{$EXTERNALSYM SC_CONTEXTHELP}
SC_CONTEXTHELP = 61824;
{$EXTERNALSYM SC_SEPARATOR}
SC_SEPARATOR = 61455;
{ Obsolete names (Устаревшие имена) }
{$EXTERNALSYM SC_ICON}
SC_ICON = SC_MINIMIZE;
{$EXTERNALSYM SC_ZOOM}
SC_ZOOM = SC_MAXIMIZE;
Т.е., например, вместо SC_MINIMIZE можно написать просто число 61472.
DikobraZ (2002-03-27 23:45:00) [3]Я почитал справку и понял, что я совсем ничего не понял... :)
Не могли бы вы написать конкретный пример использования этого WM_SYSCOMMAND?
Anatoly Podgoretsky (2002-03-27 23:21:00) [4]Живет у тебя на диске, в том каталоге куда ты его поставил.
В виндоус есть неплохая поисковая система, искать файл win32.hlp там и остальное Software Development Kit
DikobraZ (2002-03-27 23:14:00) [5]А что такое SDK и где оно живет???
Юрий Зотов (2002-03-27 22:51:00) [6]> Как убрать кнопку развернуть
См. BorderIcons.
> как кнопке свернуть присвоить функцию спрятать
Обрабатывать WM_SYSCOMMAND. См. в SDK.