如何通过窗体中的其他控件,实现对整个窗体的拖拽?请给出原码,谢谢。
解决方案 »
- c里winmain函数有四参数,对应的DELPHI里的四参数在哪?
- 生成了一个ocx,在asp网页中如何把这个ocx嵌入呢?
- 我已知道一个控件的句柄,怎么能得到容器的句柄?
- 请高手分析一下触发器帮解决,谢谢了。。。
- 我设置DateTimePicker.Font,但是总是不会改变,请问怎么解决???
- 哪位大哥指点一下迷津
- 为什么出现[Error] Result := (nil as TMyObject)
- 这样的一个函数是纯虚函数吗?
- 怎样虚拟键盘的键,(想虚拟一个小键盘)
- 关于帮助文档的简单问题!
- foxpro sql查询提问,代码如正题
- 谁看过《DELPHI COM 深入编程》,进来一下吧~~
ReleaseCapture;
SendMessage(Handle, WM_SYSCOMMAND, $F012, 0);
SendMessage(Handle, WM_SYSCOMMAND, $F012, 0);
或者继承WM_NCHITTEST消息
或者perform guowzgyc(宝兰心情) 的消息
或者自己写
或者……
begin
inherited;
if (htClient=Msg.result) then Msg.result:=htCaption;
end;
copy一段就可以了!!
unit Unit1;
……
type
TForm1Κclass(TForm)
procedureFormCreate(Sender:TObject);
……
public
{申明消息过滤过程}
procedureAppMessage(varMsg:TMsg;varHandled:Boolean);
……
implementation
procedureTForm1.FormCreate(Sender:TObject);
begin
{捕捉消息:将程序的收到消息事件与消息过滤过程关联起来}
Application.OnMessage:=AppMessage;
end;
procedureTForm1.AppMessage(varMsg:TMsg;varHandled:Boolean);
begin
{如果鼠标左键按下的话}
if Msg.message=WM—LButtonDown then
begin
{判断光标是否在用户工作区内}
if DefWindowProc(Panel1.Handle,WM—NCHitTest,0,GetMessagePos)=HTClient then
begin
{发出鼠标在用户标题栏内被按下的消息}
SendMessage(Panel1.Handle,WM—NCLButtonDown,HTCaption,GetMessagePos);
Handled:=true;
{消息处理完毕,窗体不再接受MouseDown及Click事件,如果为false,程序的运行稍微有些不正常。}
end;
end;
end;
end.