Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
ВнизDeleteMenu Найти похожие ветки
← →
psa247 © (2005-09-03 15:22) [0]Подскажите, как запретить не удаляя - кнопку "Минимизировать"?
← →
Турист (2005-09-03 16:14) [1]TForm.BorderIcons.biMinimize=False ?
← →
Poirot © (2005-09-03 16:15) [2]запретить обработку WM_SIZE с wParam = SIZE_MINIMIZED...
Или просто задизейблить пункт меню
← →
begin...end © (2005-09-03 16:21) [3]Стиль WS_MINIMIZEBOX сбросить?
← →
psa247 © (2005-09-03 16:31) [4]
> TForm.BorderIcons.biMinimize=False ?
Enable:= False, но чтобы оставалась видимой. Потом опять разрешить
← →
Турист (2005-09-03 16:45) [5]
procedure TForm1.Button3Click(Sender: TObject);
begin
if biMinimize in BorderIcons then
BorderIcons := BorderIcons - [biMinimize]
else
BorderIcons := BorderIcons + [biMinimize]
end;
{ Вариант begin...end © (03.09.05 16:21) [3] }
procedure TForm1.Button4Click(Sender: TObject);
var
dwStyle: DWord;
begin
dwStyle := GetWindowLong(Handle, GWL_STYLE);
if (dwStyle and WS_MINIMIZEBOX) = 0 then
SetWindowLong(Handle, GWL_STYLE, dwStyle or WS_MINIMIZEBOX)
else
SetWindowLong(Handle, GWL_STYLE, dwStyle and not WS_MINIMIZEBOX);
SetWindowPos(Handle, 0, 0, 0, 0, 0, SWP_NOZORDER or SWP_NOMOVE or
SWP_NOSIZE or SWP_NOACTIVATE or SWP_FRAMECHANGED)
end;
← →
psa247 © (2005-09-03 16:51) [6]
> Турист (03.09.05 16:45) [5]
Так она становится невидимой. Извиняюсь, забыл сказать, что biMaximized - False.
← →
begin...end © (2005-09-03 17:07) [7]> Турист (03.09.05 16:45) [5]
> procedure TForm1.Button4Click(Sender: TObject);
> var
> dwStyle: DWord;
> begin
> dwStyle := GetWindowLong(Handle, GWL_STYLE);
> if (dwStyle and WS_MINIMIZEBOX) = 0 then
> SetWindowLong(Handle, GWL_STYLE, dwStyle or WS_MINIMIZEBOX)
> else
> SetWindowLong(Handle, GWL_STYLE, dwStyle and not WS_MINIMIZEBOX);
> SetWindowPos(Handle, 0, 0, 0, 0, 0, SWP_NOZORDER or SWP_NOMOVE or
> SWP_NOSIZE or SWP_NOACTIVATE or SWP_FRAMECHANGED)
> end;procedure TForm1.Button4Click(Sender: TObject);
begin
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) xor WS_MINIMIZEBOX);
DrawMenuBar(Handle)
end
← →
Турист (2005-09-03 17:16) [8]>begin...end © (03.09.05 17:07) [7]
К сожалению, и этот вариант не решает проблему psa247 ©
>psa247 ©
Это критично ? Если да, то есть компонент TJvCaptionButton в Jedi VCL
← →
Турист (2005-09-03 17:23) [9]>Турист (03.09.05 17:16) [8]
:-)
procedure TForm1.Button5Click(Sender: TObject);
begin
JvCaptionButton1.Enabled := not JvCaptionButton1.Enabled
end;
← →
psa247 © (2005-09-03 17:57) [10]
> Турист (03.09.05 17:16) [8]
> >begin...end © (03.09.05 17:07) [7]
> К сожалению, и этот вариант не решает проблему psa247 ©
>
> >psa247 ©
> Это критично ? Если да, то есть компонент TJvCaptionButton
> в Jedi VCL
Не критично, но не благообразно. А почему так?
Спасибо.
← →
Турист (2005-09-03 18:17) [11]>psa247 © (03.09.05 17:57) [10]
Наверно, для возможности установки стиля WS_EX_CONTEXTHELP, который, судя по описанию, не может быть установлен вместе с WS_MINIMIZEBOX или WS_MAXIMIZEBOX
← →
begin...end © (2005-09-03 19:51) [12]> Турист (03.09.05 17:16) [8]
> К сожалению, и этот вариант не решает проблему psa247 ©
Я знаю, что не решает. Я просто привёл более короткий код, аналогичный Вашему.
← →
psa247 © (2005-09-10 14:34) [13]В чем здесь дело?
if IsIconic(index)then OpenIcon(index);
if not(IsWindowEnabled(index))then EnableWindow(index, True);
if not(IsWindowVisible(index))then ShowWindow(index, SW_SHOWNORMAL);
SetForegroundWindow(index);
После этого кнопка минимизации не работает !!!
← →
Турист (2005-09-10 16:58) [14]>psa247 © (10.09.05 14:34) [13]
Форма - главная форма проекта ?
if IsIconic(Application.Handle)then
Application.Restore
else begin
...
end
← →
psa247 © (2005-09-10 17:26) [15]Активизирую предыдущий запуск
index:= FindWindow(nil,"Заголовок Главной Формы");
if index<>0 then begin
if IsIconic(index)then OpenIcon(index);
if not(IsWindowEnabled(index))then EnableWindow(index, True);
if not(IsWindowVisible(index))then ShowWindow(index, SW_SHOWNORMAL);
SetForegroundWindow(index);
Application.Terminate;
← →
Турист (2005-09-10 17:28) [16]>psa247 © (10.09.05 17:26) [15]
Может приложению лучше сообщение послать пусть само себя активизирует
← →
psa247 © (2005-09-10 17:36) [17]> Турист
И то правда...
Спасибо еще раз
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.062 c