难啊!不是高手请不要进来!(千山一刀请教各位高人) 窗口定位:菜单窗口为mdichild打开时left:=0;top:=0当mdichild窗口count为0时,再打开,else关闭. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在新窗体里放上什么panel,treeview之类的,点击时关联到另外的子窗体就行了吗 呵呵,简单简单,这样就行:*******************************************************************************1、大家见过用友的财务软件吗?它的主界面上所有的功能菜单都靠在客户区的左边, 鼠标移上去后又会有子菜单,子窗口出来后又会覆盖掉这些菜单。2、我想问的是它是如何将菜单放到主窗口的客户区去? (好象是画上去的,但鼠标移上去字会变颜色)*******************************************************************************它的菜单不是那种普通的菜单,实际上是好多个lable或panel甚至bitbtn(看你喜欢什么了),设置成那种flat的样子,当mouse在它上面move时,颜色改变,然后再弹出一个自己定义好的popupmenu(如果这种格式的菜单有好多,那么就有好多的lable和popupmenu),弹出popupmenu后,它的x和y都可以设置为“子窗口出来后又会覆盖掉这些菜单”*******************************************************************************3、我的目的是将菜单放进客户区,但又不占用客户区的空间! (在客户区放一个Panel,再在Panel上放一个Treeview,但Panel占了客户区的空间)*******************************************************************************呵呵,这就不用我说了吧,你可以在不用时把它hide,用时在显示出来,呵呵~~~~ 他可能用的是就是Panel我在做一个类似的软件用友的和万国的差不多我问过朋友的 你确定它是我们通常用的菜单吗(我指的是标准的菜单)也许他们是开发的一套类似菜单形式的控件,比如可能是从TGustomControl或TGraphicControl继承下来的!(不好意思,我是菜鸟,说错了别见怪!) 我想:用一个toolbar和一个popupmenu就可以了。 TO: Bob7946(X度空间) 你再试一下!你会发现这些放上去的Lable、Bitbtn都会浮在MDI子窗口上面的! 我现在用的就是把Panel Hide掉,但是用TreeView总是没有用menu舒服! 那你就把这些Lable、Bitbtn放在MDI子窗口上面试试啊! 我试过了!Windows菜单中会列出这个窗口,点一下这个窗口,它会到其它窗口的前面来,即盖过了其它MDI子窗口! 将该MDI子窗口设为最底层即可。 什么意思?把你的程序发过来一份我看看吧,并附上你要求的效果抓图,我再试试...[email protected] 至于用友用的是什么控件,使用微软的spy看一下就知道了 我只是随便建了一个MDI的应用程序,只是想将菜单放到客户区中去,还没写代码呢! 呵呵,我简单的做了一个demo,不知道是不是你说的样子,你的邮箱?我发给你。(用D6写的) 1、我也没有见过用友的界面。2、可以试试ClildForm,即将Form嵌入的Form中去,这样子Form是可以有菜单的。3、我不是很明白你的意思。 TO:CHECHY2、如何嵌入?我用过Frame,但它浮在其它子FORM 的上面啊! Delphi 5 Developer's Guide第四章详细介绍了,而且还有例子。 有光盘吗?你先给我发一个例子过来好吗?[email protected]谢谢! 这本书的电子版,以及程序网上都有。我这里是ChildFrm的程序。unit ChildFrm;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus;type TChildForm = class(TForm) private FAsChild: Boolean; FTempParent: TWinControl; protected procedure CreateParams(var Params: TCreateParams); override; procedure Loaded; override; public constructor Create(AOwner: TComponent); overload; override; constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; overload; // The method below must be overridden to return either the main menu // of the form, or nil. function GetFormMenu: TMainMenu; virtual; abstract; function CanChange: Boolean; virtual; end;var ChildForm: TChildForm;implementation{$R *.DFM}constructor TChildForm.Create(AOwner: TComponent);begin FAsChild := False; inherited Create(AOwner);end;constructor TChildForm.Create(AOwner: TComponent; AParent: TWinControl);begin FAsChild := True; FTempParent := aParent; inherited Create(AOwner);end;procedure TChildForm.Loaded;begin inherited; if FAsChild then begin align := alClient; BorderStyle := bsNone; BorderIcons := []; Parent := FTempParent; Position := poDefault; end;end;procedure TChildForm.CreateParams(var Params: TCreateParams);Begin Inherited CreateParams(Params); if FAsChild then Params.Style := Params.Style or WS_CHILD;end;function TChildForm.CanChange: Boolean;begin Result := True;end;end. 函数:function GetFormMenu: TMainMenu; virtual; abstract;定义在什么地方? to liang_z(千山一刀之忍者神龟):上班了!!! 我把那个demo给你发过去,你看看是不是这种效果(还有些功能没写出来,是很简单的一个demo) 我没用过用友软件,但我知道很多漂亮软件都是张皮,全都是画的,比如winamp等等,你可以用spy++去看一下,就是一张图,什么都不有. 不好意思!也许是我表达得不清楚,我要求菜单在客户区中靠右竖排为一列,象贴在上面,而不是象子FORM是浮在上面的!任何子FORM都会把它覆盖掉,但是菜单露出的部分一定要显示出来!菜单不能被随便拖动到其它地方! iocp监听到的数据显示出来 Image 坐标转换问题 请教SQL远程连接问题: 如何通过程序实现局域网内连接SQL server来进行资产管理系统的操作? 简单问题,好久没弄了,忘了怎么做。要怎么解决呢,在线等啊! 如何定义象C++中的函数iif()? 怎样发送匿名消息 delphi的痛苦,vc中很简单,在线等待! 菜鸟问题 一个大家都可以得分的问 怎样让windows98改变成windows2000的风格呢? 给个提示,如何建立临时表,用 .dbf 的 怎样建一个好用的临时表!高分相赠!
*******************************************************************************
1、大家见过用友的财务软件吗?它的主界面上所有的功能菜单都靠在客户区的左边,
鼠标移上去后又会有子菜单,子窗口出来后又会覆盖掉这些菜单。
2、我想问的是它是如何将菜单放到主窗口的客户区去?
(好象是画上去的,但鼠标移上去字会变颜色)
*******************************************************************************
它的菜单不是那种普通的菜单,实际上是好多个lable或panel甚至bitbtn(看你喜欢什么了),设置成那种flat的样子,当mouse在它上面move时,颜色改变,然后再弹出一个自己定义好的popupmenu(如果这种格式的菜单有好多,那么就有好多的lable和popupmenu),弹出popupmenu后,它的x和y都可以设置为“子窗口出来后又会覆盖掉这些菜单”*******************************************************************************
3、我的目的是将菜单放进客户区,但又不占用客户区的空间!
(在客户区放一个Panel,再在Panel上放一个Treeview,但Panel占了客户区的空间)*******************************************************************************
呵呵,这就不用我说了吧,你可以在不用时把它hide,用时在显示出来,呵呵~~~~
我在做一个类似的软件
用友的和万国的差不多
我问过朋友的
也许他们是开发的一套类似菜单形式的控件,比如可能是从TGustomControl或TGraphicControl
继承下来的!(不好意思,我是菜鸟,说错了别见怪!)
点一下这个窗口,它会到其它窗口的前面来,
即盖过了其它MDI子窗口!
[email protected]
只是想将菜单放到客户区中去,
还没写代码呢!
2、可以试试ClildForm,即将Form嵌入的Form中去,这样子Form是可以有菜单的。
3、我不是很明白你的意思。
2、如何嵌入?我用过Frame,但它浮在其它子FORM 的上面啊!
你先给我发一个例子过来好吗?
[email protected]
谢谢!
unit ChildFrm;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls, Menus;type TChildForm = class(TForm)
private
FAsChild: Boolean;
FTempParent: TWinControl;
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure Loaded; override;
public
constructor Create(AOwner: TComponent); overload; override;
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; overload; // The method below must be overridden to return either the main menu
// of the form, or nil.
function GetFormMenu: TMainMenu; virtual; abstract;
function CanChange: Boolean; virtual;
end;var
ChildForm: TChildForm;implementation{$R *.DFM}
constructor TChildForm.Create(AOwner: TComponent);
begin
FAsChild := False;
inherited Create(AOwner);
end;constructor TChildForm.Create(AOwner: TComponent; AParent: TWinControl);
begin
FAsChild := True;
FTempParent := aParent;
inherited Create(AOwner);
end;procedure TChildForm.Loaded;
begin
inherited;
if FAsChild then
begin
align := alClient;
BorderStyle := bsNone;
BorderIcons := [];
Parent := FTempParent;
Position := poDefault;
end;
end;procedure TChildForm.CreateParams(var Params: TCreateParams);
Begin
Inherited CreateParams(Params);
if FAsChild then
Params.Style := Params.Style or WS_CHILD;
end;function TChildForm.CanChange: Boolean;
begin
Result := True;
end;end.
function GetFormMenu: TMainMenu; virtual; abstract;
定义在什么地方?
我把那个demo给你发过去,你看看是不是这种效果(还有些功能没写出来,是很简单的一个demo)
我要求菜单在客户区中靠右竖排为一列,象贴在上面,而不是象子FORM是浮在上面的!
任何子FORM都会把它覆盖掉,但是菜单露出的部分一定要显示出来!
菜单不能被随便拖动到其它地方!