想问一下,我想使一个窗口宽度为400,如何实现?(50分)

  • 主题发起人 主题发起人 changsong1314
  • 开始时间 开始时间
C

changsong1314

Unregistered / Unconfirmed
GUEST, unregistred user!
我在ConstrainedResize设置了 &nbsp;MaxWidth := 400;<br>按住窗口右边框向右拉伸时,窗口是控制在宽度为400,没有问题,但是按住左边边框向左边拉伸时,遇到一个问题,窗口拉伸到了宽度400继续向左拉时,整个窗体就跟着走,我想通过捕捉windows消息,不知如何做<br>各位大侠,指教一下。
 
给FORM的FORMSTYLE属性设置为STAYONTOP<br> &nbsp; &nbsp; &nbsp; &nbsp;BORDERSTYLE 设置为BSSINGLE<br><br>这样就无法拖动窗体,也无法改变窗体的大小了
 
无法用鼠标点窗体的标题栏另其移动<br>可以这样<br><br>procedure TForm1.WMNCHitTest(var Msg:TWMNCHitTest);<br>begin<br> &nbsp;DefaultHandler(Msg);<br> &nbsp;if msg.result=htcaption then msg.result:=htclient;<br>end;<br><br>在INTERFACE处加<br>procedure WMNCHitTest(var Msg:TWMNCHitTest);message WM_NCHITTEST;
 
unit Unit1;<br><br>interface<br><br>uses<br> &nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br> &nbsp;Dialogs;<br><br>type<br> &nbsp;TForm1 = class(TForm)<br> &nbsp;private<br> &nbsp; &nbsp;{ Private declarations }<br> &nbsp;protected<br> &nbsp; &nbsp;procedure WMSIZING(var Msg: TMessage); message WM_SIZING;<br> &nbsp;public<br> &nbsp; &nbsp;{ Public declarations }<br> &nbsp;end;<br><br>var<br> &nbsp;Form1: TForm1;<br><br>implementation<br><br>{$R *.dfm}<br><br>{ TForm1 }<br><br>procedure TForm1.WMSIZING(var Msg: TMessage);<br>var<br> &nbsp;r: PRect;<br>begin<br> &nbsp;if Msg.wParam = WMSZ_LEFT then<br> &nbsp;begin<br> &nbsp; &nbsp;r := PRect(Msg.LParam);<br> &nbsp; &nbsp;if (r.Right - r.Left) &gt;= Self.Constraints.MaxWidth then<br> &nbsp; &nbsp; &nbsp;r.Left := r.Right - Self.Constraints.MaxWidth;<br> &nbsp; &nbsp;Msg.Result := 1;<br> &nbsp;end<br> &nbsp;else<br> &nbsp; &nbsp;inherited;<br>end;<br><br>end.
 
我的意思是可以拉动变动大小,假如固定死,那就没有什么问题了,上面的方法我试过的,都不行
 
楼主,你别浪费人家时间好不好? 你看看你的叙述,鬼才能猜到你想要什么啊? 都以为你是不希望在往左拉时会拉动窗口。 <br>实在很遗憾,我的代码只是实现不让他跟着走,并仍然符合Constrained属性的设置。<br>你到底想要什么效果啊? 不知所云
 
我也没读懂,他到底想要什么效果
 
设MaxWidth := 400;
 
我的意思很明显的阿,你按住鼠标向左边在窗体左边边框向左边拉动一个窗体边框的时候,界面的情况是右边边框不动,而左边边框是跟着鼠标向左边走动的,但是到了窗体宽度到达我设置的maxwidth的时候,右边边框就也跟着向左边移动了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
488
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部