Window отключить min и max

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Window отключить min и max

Сообщение gopstop2007 »

Есть окна в которых надо использовать свою иконку, но без миними(максима)лизации иконок в правом верхнем углу окна, оставив крестик.
так не надо
так не надо
ic_2.jpg (2.12 КБ) 2325 просмотров
надо так
надо так
ic_1.jpg (2.71 КБ) 2325 просмотров
Есть ли решение данного вопроса?
Заранее спасибо
С10 ABC
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4961
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Window отключить min и max

Сообщение kreator »

Если икону убрать, то будет один крест.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Window отключить min и max

Сообщение gopstop2007 »

kreator писал(а): 25 Сентябрь 2017, 10:13 Если икону убрать, то будет один крест.
знаю, но так наглядней, если окно маленькое.
Кстати у А. Мялина в шаблонах было такое решение.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4961
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Window отключить min и max

Сообщение kreator »

Не понял. Что не так?
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Window отключить min и max

Сообщение Yufil »

Можно, наверное, перехватить событие Event:Iconize и Event:Maximize

Код: Выделить всё

window.TakeEvent
.... 
Of  Event:Iconize
   Cycle
....
Of Event:Maximize
  Cycle
Пардон, не понял вопроса. Надо копать в сторону функций GetWindowLong/SetWindowLong
Например, у меня вызов

Код: Выделить всё

      Hwnd#=Window{Prop:Handle}
      If SetWindowLong(Hwnd#, GWL_EXSTYLE, BOR(GetWindowLong(Hwnd#, GWL_EXSTYLE), WS_EX_TOOLWINDOW)).
создаёт фрейм вообще без рамки. Надо покопаться в настройках и поменять WS_EX_TOOLWINDOW на что-то адекаватное.

Да, ещё тулбоксы имеют узкую полоску, мож попробовать окно тулбоксом объявить...
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Window отключить min и max

Сообщение gopstop2007 »

Yufil писал(а): 25 Сентябрь 2017, 13:50 Например, у меня вызов

Код: Выделить всё

      Hwnd#=Window{Prop:Handle}
      If SetWindowLong(Hwnd#, GWL_EXSTYLE, BOR(GetWindowLong(Hwnd#, GWL_EXSTYLE), WS_EX_TOOLWINDOW)).
Спасибо, буду смотреть :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4961
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Window отключить min и max

Сообщение kreator »

Мне всё же непонятно, чем мой вариант (убрать икону) не подходит?
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Window отключить min и max

Сообщение gopstop2007 »

gopstop2007 писал(а): 25 Сентябрь 2017, 9:53 Есть окна в которых надо использовать свою иконку
где я написал что надо убрать иконку? :) мне надо мин и макс убрать
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4961
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Window отключить min и max

Сообщение kreator »

gopstop2007 писал(а): 27 Сентябрь 2017, 11:00 где я написал что надо убрать иконку? :) мне надо мин и макс убрать
Попробуй. Мин, макс уберутся. А иконка вставится из глобальных настроек. Для начала. А дальше можно попробовать и пошаманить.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Window отключить min и max

Сообщение Yufil »

SetWindowLong позволяет явно управлять показом иконок максимизации и минимизации.

Код: Выделить всё

https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms633591(v=vs.85).aspx
Можно даже полупрозрачное окно сделать

WH# = 0{Prop:Handle}
Ret# = GetWindowLong(WH, GWL_EXSTYLE)
Ret# = BOR(Ret#,WS_EX_LAYERED)
If SetWindowLong(WH#,GWL_EXSTYLE,Ret#).
If SetLayeredWindowAttributes(WH#,0,200,LWA_ALPHA).
Ответить