Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Как добавить кнопочку в системное меню программы   Найти похожие ветки 

 
Ландграф Павел ©   (2004-02-07 18:32) [0]

это так где минимизировать, развернуть, закрыть


 
Sergey_Masloff   (2004-02-07 18:55) [1]

Например так

procedure TMyForm.FormCreate(Sender: TObject);
var
 M: HMenu;
begin
 M := GetSystemMenu(Handle, false);
 InsertMenu(M, 1, MF_BYPOSITION + MF_STRING,   SC_CALCULATOR,"Calculator");
end;


перед этим объявить например

SC_CALCULATOR     = $C000;


и наконец написать

procedure WMSysCommand(var M: TWMSysCommand); message WM_SYSCOMMAND;

procedure TMyForm.WMSysCommand(var M: TWMSysCommand);
begin
 inherited;
 case M.CmdType of
   SC_CALCULATOR:     winexec( PChar("calc.exe"), SW_SHOWNORMAL);
 end;
end;

конечно вместо winexec CreateProcess ;-)


 
Ландграф Павел ©   (2004-02-08 09:19) [2]

Я наверное не так выразился, я хочу добавить кнопку рядом с BorderIcons, типа как у программы zip


 
SergP ©   (2004-02-08 10:27) [3]

Пользуюсь компонентом TCaptionButton. Если не найдешь сам, то пиши на мне на мыло, я пришлю...


 
TUser ©   (2004-02-08 11:04) [4]

JvaCaptionButton или JvCaptionButton. Но у этих компонентов обнаружилась такая фигня - после изменения чего-нибудь на форме с borderIcons = [] (с другими не проверял), а конкретно в RichEdit"е програмно меняется текст, начинает обрабатываться код где-то в дебрях библиотеки jedi. А прога, соотвественно, висит где-то секунд 10-40. Это плохо. Поэтому лучше делать через апи. Пример есть на delphi world (программа и интерфейс\заголовок форы).


 
TUser ©   (2004-02-08 14:16) [5]

Правда, на api тоже тормоза.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
8-1076518876
Larry
2004-02-11 20:01
2004.04.11
Заливка многогранника


14-1079270115
Nick-From
2004-03-14 16:15
2004.04.11
Криминал


14-1079559570
RIMMER
2004-03-18 00:39
2004.04.11
Torry жив!


3-1081437543
jenbond
2004-04-08 19:19
2004.04.11
Присвоить полю значение NULL


3-1079332505
Nax
2004-03-15 09:35
2004.04.11
SetRange()