如题!当MDI子窗体超出父窗体时会出现垂直,横向的滚动条,如何去除这个滚动条的问题?
解决方案 »
- 动态创建控件问题,不能定位父控件,不明啊?
- 判断cxGrid里的有一栏的Properties为LookupComboBox,怎样判断选择了LookupComboBox下拉框的哪一行?
- 用dbexpress组件开发的数据库应用程序如何发布???
- WebBrowser组件,如何控制访问一个URL不成功后的界面?
- Groupbox中加入多个radiobutton按钮时,如何指定某个radiobutton为默认而显示在运行时的界面上?
- ★★★解除网页鼠标右键锁定、限制所上网站,如何编程实现?★★★
- 如何动态使用DBChart控件
- 这句话是什么意思??
- 有人说:“软件开发就是制造问题,然后解决问题”,大家谈谈看法!顺便散点分!
- 紧急救助:怎麽才能连接IBLocal数据库(密码已输入为:msterkey)!!!
- DBChart控件表示的数据统计图怎么实现放大,缩小,左右移功能。
- 为什么用Delphi编的DLL里的窗体,被调用一个,就在windows任务管理器的“应用程序”里出现一个任务
将Delphi7/Source/vcl 目录下的 Forms.Pas 拷贝到你的工程文件的目录,并用"Project"菜单中的 "Add to Project...." 将Forms.Pas加到你的工程文件中。
(注意,此时可能会有什么错误提示,不管他,点"OK"就行,也不管是否加进来了!)第二步:
通过菜单"File->Open"打开你工程文件下的刚刚拷贝过来的Forms.Pas文件,改写其中的 procedure TcustomForm.CreateWnd,代码如下:
(注意,因为Forms.Pas文件太长,可以一下难以找到,我刚刚测试的时候找到了,在第 3678 行,将我下面的这段代码替换原来的 procedure TcustomForm.CreateWnd 就行!)procedure TCustomForm.CreateWnd;
var
ClientCreateStruct: TClientCreateStruct;
begin
inherited CreateWnd;
if NewStyleControls then
if BorderStyle <> bsDialog then
SendMessage(Handle, WM_SETICON, 1, GetIconHandle) else
SendMessage(Handle, WM_SETICON, 1, 0);
if not (csDesigning in ComponentState) then
case FormStyle of
fsMDIForm:
begin
with ClientCreateStruct do
begin
idFirstChild := $FF00;
hWindowMenu := 0;
if FWindowMenu <> nil then hWindowMenu := FWindowMenu.Handle;
end;
FClientHandle := Windows.CreateWindowEx(WS_EX_CLIENTEDGE, 'MDICLIENT',
nil, WS_CHILD or WS_VISIBLE or WS_GROUP or WS_TABSTOP or
WS_CLIPCHILDREN or WS_CLIPSIBLINGS or
MDIS_ALLCHILDSTYLES, 0, 0, ClientWidth, ClientHeight, Handle, 0,
HInstance, @ClientCreateStruct);
{$IFDEF LINUX}
FClientInstance := WinUtils.MakeObjectInstance(ClientWndProc);
{$ENDIF}
{$IFDEF MSWINDOWS}
FClientInstance := Classes.MakeObjectInstance(ClientWndProc);
{$ENDIF}
FDefClientProc := Pointer(GetWindowLong(FClientHandle, GWL_WNDPROC));
SetWindowLong(FClientHandle, GWL_WNDPROC, Longint(FClientInstance));
end;
fsStayOnTop:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or
SWP_NOSIZE or SWP_NOACTIVATE);
end;
end;