![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить кнопочку в системное меню программы [D7, Win95/98, WinME, WinXP]
Ландграф Павел © (2004-02-07 18:32:00)это так где минимизировать, развернуть, закрыть
TUser (2004-02-08 14:16:00) [1]Правда, на api тоже тормоза.
TUser (2004-02-08 11:04:00) [2]JvaCaptionButton или JvCaptionButton. Но у этих компонентов обнаружилась такая фигня - после изменения чего-нибудь на форме с borderIcons = [] (с другими не проверял), а конкретно в RichEdit'е програмно меняется текст, начинает обрабатываться код где-то в дебрях библиотеки jedi. А прога, соотвественно, висит где-то секунд 10-40. Это плохо. Поэтому лучше делать через апи. Пример есть на delphi world (программа и интерфейс\заголовок форы).
SergP (2004-02-08 10:27:00) [3]Пользуюсь компонентом TCaptionButton. Если не найдешь сам, то пиши на мне на мыло, я пришлю...
Ландграф Павел (2004-02-08 09:19:00) [4]Я наверное не так выразился, я хочу добавить кнопку рядом с BorderIcons, типа как у программы zip
Sergey_Masloff (2004-02-07 18:55:00) [5]Например так
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 ;-)