在做MDI程序时,如果在主窗口上添加一个Panel,并把它的Align设置成Client,当打开子窗口时子窗口会被Panel给全部遮盖,如何使子窗口不被Panel面板遮盖,请问哪位高手知道如何解决这个问题??
解决方案 »
- OpenDialog与getdir 的路径
- 有人用过EHlib下面的MemTableEh 说一下具体的连接的方法 ?
- Service 中使用ADO 不能正常工作............???????????????????????
- 这样一句简单的数据库操作语句为什么会出错?
- 寻找类似于MSN左边的PageControl控件?
- 谁有好的图标,做程序放在按钮上的,要大点的,32*32的就可以,给我点(在线)
- 将stringgrid的内容保存成文本,如何实现?
- 如何在delphi中对ACCESS进行备份、恢复、压缩操作呀
- 请问如何解除toolbar组件的"左对齐"功能
- 我用ODBC连接SQLSEAVER数据库,在公司内调试通过,可在客户处不能写数据库(系统错误),不知为何?请高手告知。
- 如何使程序最前方。
- 我下载了一套FlatStyle的控件,但好象不能获得焦点,只能用鼠标点啊?有什么其它的办法获得焦点吗?
画图?
写字?
procedure TMainForm.FormPaint(Sender: TObject);
var
TempCanvas: TCanvas;
begin
TempCanvas := TCanvas.Create;
try
TempCanvas.Handle := GetDC(ClientHandle);
with TempCanvas do
begin
Rectangle(10, 10, 50, 50);
TextOut(200, 200, 'Lilor');
end;
finally
ReleaseDC(ClientHandle, TempCanvas.Handle);
TempCanvas.free;
end;
end;
MdiForm.BringtoFront;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
to: lxpbuaa(桂枝香在故国晚秋) ————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
妙,极妙!
我猜想的!?高手指点~~~
呵,好久不见
begin
if ( PfrmUIForm <> nil )
and Assigned(PfrmUIForm^) then
begin
PfrmUIForm^.Close;
if Assigned(PfrmUIForm^) then
begin
Result := False;
Exit;
end;
end;
Result := True;
PfrmUIForm := nil;
end;procedure TfrmJMMain.UIFormDock;
Var
DockPos : TRect;
begin
{注:停靠的窗体要比pnlUIfrm宽加8高加26}
if ( PfrmUIForm <> nil )
and Assigned(PfrmUIForm^) then
begin
DockPos.Top := 0;
DockPos.Left := 0;
DockPos.Right := pnlUIfrm.Width; //pnlUIfrm为Panel名称
DockPos.Bottom := pnlUIfrm.Height;
PfrmUIForm^.Dock(pnlUIfrm , DockPos);
PfrmUIForm^.Show;
end;
end;显示窗体时这样用
if Not Assigned(frmJMBasedProList) then
begin
FreeUIForm;
frmJMBasedProList := TfrmJMBasedProList.Create(application);
PfrmUIForm := @frmJMBasedProList;
UIFormDock;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls;type
TMainForm = class(TForm)
mm1: TMainMenu;
ileF1: TMenuItem;
ileN1: TMenuItem;
pnl1: TPanel;
procedure ileN1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
MainForm: TMainForm;implementationuses Unit2;{$R *.dfm}procedure TMainForm.ileN1Click(Sender: TObject);
begin
Application.CreateForm(TChildForm, ChildForm);
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
Windows.SetParent(pnl1.Handle, ClientHandle); //加上这句
end;end.
要多窗口其实也可以放在Panel里啊:-)