Window отключить min и max
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Window отключить min и max
Есть окна в которых надо использовать свою иконку, но без миними(максима)лизации иконок в правом верхнем углу окна, оставив крестик.
Есть ли решение данного вопроса?
Заранее спасибо
С10 ABC
Есть ли решение данного вопроса?
Заранее спасибо
С10 ABC
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
-
- ✯ Ветеран ✯
- Сообщения: 5181
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
kreator
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Window отключить min и max
знаю, но так наглядней, если окно маленькое.
Кстати у А. Мялина в шаблонах было такое решение.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
-
- ✯ Ветеран ✯
- Сообщения: 5181
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
kreator
Window отключить min и max
Можно, наверное, перехватить событие Event:Iconize и Event:Maximize
Пардон, не понял вопроса. Надо копать в сторону функций GetWindowLong/SetWindowLong
Например, у меня вызов
создаёт фрейм вообще без рамки. Надо покопаться в настройках и поменять WS_EX_TOOLWINDOW на что-то адекаватное.
Да, ещё тулбоксы имеют узкую полоску, мож попробовать окно тулбоксом объявить...
Код: Выделить всё
window.TakeEvent
....
Of Event:Iconize
Cycle
....
Of Event:Maximize
Cycle
Например, у меня вызов
Код: Выделить всё
Hwnd#=Window{Prop:Handle}
If SetWindowLong(Hwnd#, GWL_EXSTYLE, BOR(GetWindowLong(Hwnd#, GWL_EXSTYLE), WS_EX_TOOLWINDOW)).
Да, ещё тулбоксы имеют узкую полоску, мож попробовать окно тулбоксом объявить...
Yufil
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Window отключить min и max
Спасибо, буду смотретьYufil писал(а): 25 Сентябрь 2017, 13:50 Например, у меня вызовКод: Выделить всё
Hwnd#=Window{Prop:Handle} If SetWindowLong(Hwnd#, GWL_EXSTYLE, BOR(GetWindowLong(Hwnd#, GWL_EXSTYLE), WS_EX_TOOLWINDOW)).

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
-
- ✯ Ветеран ✯
- Сообщения: 5181
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Window отключить min и max
Мне всё же непонятно, чем мой вариант (убрать икону) не подходит?
We are hard at work… for you. 

kreator
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Window отключить min и max
где я написал что надо убрать иконку?

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
-
- ✯ Ветеран ✯
- Сообщения: 5181
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Window отключить min и max
Попробуй. Мин, макс уберутся. А иконка вставится из глобальных настроек. Для начала. А дальше можно попробовать и пошаманить.gopstop2007 писал(а): 27 Сентябрь 2017, 11:00 где я написал что надо убрать иконку?мне надо мин и макс убрать
We are hard at work… for you. 

kreator
Window отключить min и max
SetWindowLong позволяет явно управлять показом иконок максимизации и минимизации.
Можно даже полупрозрачное окно сделать
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).
Код: Выделить всё
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).
Yufil
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)