A docked form ignores all this, and the properties like movable, are either ignored either read-only.
To prevent undocking the form, it's enough to cut the title bar.
But the form can still be closed with CTRL+F4
To prevent closing the form, it's enough to intercept keydown.
(See http://www.tek-tips.com/faqs.cfm?fid=7701)
PUBLIC oFrm
oFrm=CREATEOBJECT("MyForm")
oFrm.show
DEFINE CLASS MyForm as Form
dockable=1
ADD OBJECT cmd as commandbutton
PROCEDURE init
This.Dock(2) && dock to the right side
* cut the title bar so the window cannot be moved or undocked
Declare Long SetWindowRgn IN WIN32API Long hWnd, Long hRgn, String bRedraw
Declare Long CreateRectRgn IN WIN32API Long X1, Long Y1, Long X2, Long Y2
SetWindowRgn(thisform.hwnd, CreateRectRgn(0,SYSMETRIC(4)+SYSMETRIC(9)/2,This.width+2*SYSMETRIC(3),This.height+2*SYSMETRIC(4)+SYSMETRIC(9)/2), "True")
BINDEVENT(This.HWnd,0x0100,This,"preventclosemethod") && intercept keydown to prevent closing the window with ctrl+f4
ENDPROC
PROCEDURE preventclosemethod
LPARAMETERS p1,p2,p3,p4
ENDPROC
ENDDEFINE
Related posts
http://praisachion.blogspot.com/2017/08/easter-eggs-4.html
http://praisachion.blogspot.com/2017/08/easter-eggs-3.html
http://praisachion.blogspot.com/2017/08/easter-eggs-2.html
http://praisachion.blogspot.com/2017/08/easter-eggs-1.html
http://praisachion.blogspot.com/2016/02/interceptin-ctrlshiftenter.html
http://praisachion.blogspot.com/2015/06/detect-keyup-like-mouseup.html
http://praisachion.blogspot.com/2015/01/how-can-i-prevent-undocking-docked-form.html
Niciun comentariu:
Trimiteți un comentariu