求助,界面的高级调整? 我想要实现在运行时能够象在设计时那样可选中1个或多个空件,能移动,并能调整其大小;另外,用户要求能自行改变字体大小,改后要求各控件也能随之自动调整;还有,就是有没有能可折叠(里面能放控件)的类似vs.net的代码编辑器的控件?请问,有没有好的控件或方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对于第一个问题比较好解决,不停的判断当前mouse下是否有控件就可以了,之后就是改变一下控件的属性 就是第一个问题不好解决呢你要做一个可以用鼠标调整大小的PANEL然后把所有东西都放带这个PANEL里去。。在PANEL的WM——SIZE消息处理中也改变 你的LABEL等东西的大小。第二个问题有 三放VCL可以解决。。具体不说了。。找来用就是 顺便给你点提示吧可以在运行期间改变大小和被移动Panel的方法 在你的PANEL的MOUSEDONW里写下面的东西:if Button=mbLeft thenbegin ReleaseCapture; Panel1.Perform(WM_SYSCOMMAND,$f012,0);//改变$F012 就可以做到Panel 的大小改变。。//Good Luck!!!!!!!!!!!!!end; gz----------------------------------------------------------gz 谢谢大家的回复!还有,就是有没有能可折叠(里面能放控件)的类似vs.net的代码编辑器的控件?或有没有类似的方法可做到? 汗,现在的客户啊!!!!用第3方控件吧,RAIZE什么的。 procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); const SC_DragMove = $F012; { a magic number } begin ReleaseCapture; panel1.perform(WM_SysCommand, SC_DragMove, 0); end;procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);{$IFNDEF WIN32} var pt : TPoint; {$ENDIF} begin if ssCtrl in Shift then begin ReleaseCapture; SendMessage(Button1.Handle, WM_SYSCOMMAND, 61458, 0); {$IFNDEF WIN32} GetCursorPos(pt);SendMessage(Button1.Handle, WM_LBUTTONUP,MK_CONTROL,Longint(pt));{$ENDIF} end; end; 北京上班的公司有用xe及xe2的吗? 为什么用delphi的人少了 在程序中如何共享文件夹。 上网记录让在注册表的哪个主键下面?参与就有分 如何禁止某个应用程序的执行?隐藏文件夹? 请有控制其它应用程序经验的人请进? help!!!高分求一本delphi书籍!!!!!!!!!!!!!!! 如何提取memo的最后一行字符串!! 下面的代码怎么改正??? (真正的高手请进)我知道一台远程服务器上的一个关于文件的url串,我怎才能操作这个文件呢? 怎样把一个超过255的字符串赋给一个AnsiString变量??? UDP协议的传输问题
第二个问题有 三放VCL可以解决。。具体不说了。。找来用就是
可以在运行期间改变大小和被移动Panel的方法
在你的PANEL的MOUSEDONW里写下面的东西:if Button=mbLeft then
begin
ReleaseCapture;
Panel1.Perform(WM_SYSCOMMAND,$f012,0);
//改变$F012 就可以做到Panel 的大小改变。。
//Good Luck!!!!!!!!!!!!!
end;
------------------------------
gz
或有没有类似的方法可做到?
现在的客户啊!!!!
用第3方控件吧,RAIZE什么的。
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
panel1.perform(WM_SysCommand, SC_DragMove, 0);
end;
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
{$IFNDEF WIN32}
var
pt : TPoint;
{$ENDIF}
begin
if ssCtrl in Shift then begin
ReleaseCapture;
SendMessage(Button1.Handle, WM_SYSCOMMAND, 61458, 0);
{$IFNDEF WIN32}
GetCursorPos(pt);
SendMessage(Button1.Handle, WM_LBUTTONUP,MK_CONTROL,Longint(pt));
{$ENDIF}
end;
end;