在窗口不是最大化的时候怎么样设置,让用户无法移动窗口
解决方案 »
- SQL image类型读取问题
- 关于cxgrid的问题
- 要实现这样一功能 有一DBgrid,这时修改了数据库中某一记录的值,要求同步刷新出来,但没这么简单,进来细说
- 数据感知控件问题?
- 转换???
- 要从小摄像头中抓取一幅图片,如何用DELPHI实现?
- 在私有过程中定义了一个动态数组。在过程最后要不要把动态数组释放?
- 动态创建窗体
- 如何在OnkeyDown事件中屏蔽掉该消息(让delphi不继续处理这个事件)。
- 怎样把帮助文件(.hlp)转换为和执行文件(.exe)。
- delphi7中Rave reports怎么显示成横向的?
- 怎样使DBImage中实现滚动条功能?使要看的图显示完整,而不是仅仅用“平铺”解决问题?
Form1.BorderStyle := bsSingle
好象你的方法不行,没道理呀
1:禁止鼠标拖动标题栏
在private部分加入
procedure WMNCLBUTTONDOWN(var msg:TMessage);message WM_NCLBUTTONDOWN;
在实现部分加入:
procedure TForm1.WMNCLBUTTONDOWN(var msg: TMessage);
begin
if msg.WParam= HTCAPTION then
SendMessage(self.Handle,WM_LBUTTONUP,0,0)
else
inherited;
end;
2:把"移动"从控制菜单移除(代码我不会写)谁来补上
i:integer;//Or other typeVal(YourInputString,i,Code);如果返回 Code=0,是数值,i 即为结果数值。
DeleteMenu( GetSystemMenu(Handle, False),SC_MOVE,MF_BYCOMMAND);
就行了,
{ Private declarations }
procedure WMNCHitTest(var msg: TWMNCHitTest);message wm_nchittest;procedure TForm1.WMNCHitTest(var msg: TWMNCHitTest);
begin
if msg.Result = htcaption then
msg.Result := htClient;end;
naughtyboy的方法会使标题栏不可用
var
hSysMenu: HMENU;
begin
hSysMenu := GetSystemMenu(Handle, False);
//禁止用户移动窗体
DeleteMenu(hSysMenu, SC_MOVE, MF_BYCOMMAND);
//...
end;//友情赠送以下代码 :)procedure TForm1.FormCreate(Sender: TObject);
var
hSysMenu: HMENU;
begin
//禁止用户关闭窗体
DeleteMenu(hSysMenu, SC_CLOSE, MF_BYCOMMAND);
//删除系统菜单中的分栏符
DeleteMenu(hSysMenu, 0, MF_BYCOMMAND);
//禁止用户改变窗体大小
DeleteMenu(hSysMenu, SC_SIZE, MF_BYCOMMAND);
//禁止用户最小化窗体(最小化按钮并非变灰)
DeleteMenu(hSysMenu, SC_MINIMIZE, MF_BYCOMMAND);
//禁止用户最大化窗体(最大化按钮并非变灰)
DeleteMenu(hSysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
//禁止用户恢复窗体大小(恢复并非变灰)
DeleteMenu(hSysMenu, SC_RESTORE, MF_BYCOMMAND);
end;//要想恢复默认系统菜单,使用
GetSystemMenu(Handle, True)