试着copy部分TForm中的CreateParams方法代码没试成功
解决方案 »
- 怎样实现当按下了 DBNavigator 中的insert 按钮后,insert按钮的enabled为false,要按了post按钮才能再次激活insert按钮
- DBChar->Series[]的画线问题,急。
- 求教:MDI窗体的图片显示空白问题
- 找socketserver原码
- VTI_INF.HTML是什么东西?
- 怎样取出DBGridEh合计(在Footers上)的值?
- 如何向外部程序发送”按下一个回车键”命令
- 如何用ADO复制一个表
- 关于打印机监控的难题!
- messagebox中的问题,求教
- 用SQL语句如何实现在一表中随机的选择三条纪录到另一个表中
- 流存取数据库中文件大小只有33k,高手指教!
因为这是基本知识,CreateParams中把WS_CHILD去掉。http://blog.csdn.net/linzhengqun
procedure TCustomFrame.CreateParams(var Params: TCreateParams);
begin
inherited;
if Parent = nil then
Params.WndParent := Application.Handle;
end;
type
TTest = class(TWinControl)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;{ TTest }procedure TTest.CreateParams(var Params: TCreateParams);
begin
inherited;
with Params do
begin
if (Parent = nil) and (ParentWindow = 0) then
begin
WndParent := Application.Handle;
Style := Style and not (WS_CHILD or WS_GROUP or WS_TABSTOP);
end;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
aa: TTest;
begin
aa := TTest.Create(self);
aa.HandleNeeded;
aa.SetBounds(0, 0, 200, 200);
aa.Show;
end;
我试了啊,可是没效果
TMyWindow = class(TWinControl)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;{ TMyWindow }procedure TMyWindow.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := WS_POPUP or WS_BORDER or WS_OVERLAPPEDWINDOW;
end;function ShowYourWindow: TMyWindow;
begin
Result := TMyWindow.Create(nil);
Result.Width := 200;
Result.Height := 200;
ShowWindow(Result.Handle, SW_SHOWNORMAL);
end;