Disable Close Button
Добавлено: 14 Июнь 2020, 8:51
Как запретить кнопку "крестик" в правом верхнем углу окна (формы)?
Место общения программистов, форум разработчиков БД на Clarion
https://forum.clarionlife.net/
Yufil писал(а): 14 Июнь 2020, 9:44 Вроде бы в описании структуры окна отключить флажок System ( System Menu ) .
А если ещё и Icon убрать, то крестика просто не будет
Дед Пахом писал(а): 14 Июнь 2020, 11:09 Вы не с тем боретесь - уберёте крестик, юзер нажмёт ESC, запретите ESC - юзер нажмёт Alt-F4.
А попробуй ещё и рамку убрать ( No Frame ). И заголовок окна ... У меня полно таких окон.
Код: Выделить всё
l_hWnd = 0{PROP:Handle}
!Obtain the handle to the form's system menu
l_hMenu = GetSystemMenu(l_hwnd, 0)
If l_hMenu Then
l_menuItemCount = GetMenuItemCount(l_hMenu) !Obtain the number of items in the menu
!Remove the system menu Close menu item.
!The menu item is 0-based, so the last
!item on the menu is menuItemCount - 1
i# = RemoveMenu(l_hMenu, l_menuItemCount - 1,BOR(MF_REMOVE,MF_BYPOSITION))
!Remove the system menu separator line
i# = RemoveMenu(l_hMenu, l_menuItemCount - 2,BOR(MF_REMOVE,MF_BYPOSITION))
!Force a redraw of the menu. This
!refreshes the titlebar, dimming the X
i# = DrawMenuBar(l_hwnd)
End
Код: Выделить всё
! 1-2 Hide Menubar AppFrame и Отключить крестик - закрытия приложения (Global Data)
MF_BYPOSITION equate(0400H)
MF_REMOVE equate(01000H)
Код: Выделить всё
module('windows')
! 2-2 Hide Menubar AppFrame и Отключить крестик WIN API (Inside the Global Map)
GetMenu(long hWnd),long,pascal,raw,name('GetMenu')
RemoveMenu(long hMenu,long uPosition,long uFlags),long,pascal,raw,name('RemoveMenu')
DrawMenuBar(long hWnd),long,pascal,raw,name('DrawMenuBar')
GetMenuItemCount(long hWnd),long,pascal,raw,name('GetMenuItemCount')
! DrawMenuBar(Long),Long,Pascal
! GetMenuItemCount(Long),Long,Pascal
GetSystemMenu(Long,Long),Long,Pascal
! RemoveMenu(Long,Long,Long),Long,Pascal
end
Так поправьте форму, чтобы было все видно на небольшом мониторе и не кошмарьте юзеровmorkovin писал(а): 14 Июнь 2020, 11:28 часть информации внизу формы бывает не видна на небольшом мониторе, и неопытный юзер вместо того, чтобы прокрутить окно, тупо жмет на крестик. Вот и хочется их "проучить".
Я вообще против поправок!RaFaeL писал(а): 14 Июнь 2020, 20:58 Так поправьте форму, чтобы было все видно на небольшом мониторе и не кошмарьте юзеров
Ни фига се!Сложно как! Надо подумать в каких случаях без этого не обойтись.gopstop2007 писал(а): 14 Июнь 2020, 19:55 Пользуюсь этим - отключить крестик - закрытия приложения
в самом APP - Open Windows
Внести строчки не сложно. Но что за ними стоит - я в жизни бы не додумался.
Я работаю на планшете 10" и все убирается