两个问题。(20分)

  • 主题发起人 主题发起人 kenmen
  • 开始时间 开始时间
K

kenmen

Unregistered / Unconfirmed
GUEST, unregistred user!
1。我有几个form,怎样在运行时动态设定其中一个为主form.
2.其中一个form里有个按钮,我想按回车时触发它的onclisk事件,请问怎做?
谢了!
 
1、不知道。Application.MainForm是只读的,改不了。
话说回来,为什么要改变呢,让它隐藏或显示不就行了?

2、在form的OnKeyDown事件中处理:
if key=13 then
button1.Click;
窗口中如有其他控件,最好将窗口的KeyPreview设为TRUE。
 
1.不行
2.同意yzman
 
第一个问题,我是有一个登陆窗体,登陆后才弹初主程序。
因为登陆窗体时主窗体,所以想动态的设定主程序为主窗体。
可吗?
 
你的第一个问题可以这样解决,
将登录窗体设为不自动创建,然后在工程文件中创建,利用其返回值判定是否继续运行程序。
 
1。
登陆窗体可做为主窗体。根据用户输入的密码对错判定要不要显示下面的窗体
 
我的意思是想把登陆窗体设为不是主窗体,而是动态的设其它为主窗体。
主要原因是,登陆完后弹出来的窗体,按最小化时,是缩到左下脚,而不是缩进任务栏里。
只有主窗体才能缩进任务栏,所以才想动态的设定主窗体。
各位高手想想有否其它的办法。
谢了!
 
啊,还有,照yzman的说法,按了回车以后,会有一下响声。
请问怎样才能不让它发声。
谢了!
 
关于第二点 So easy!把该BUTTON的 Default属性设置为True, 这样当焦点不在其他按钮上时,
就。。。。。。

第一点:可以这样: 修改工程文件:

begin
Application.Initialize;
Application.Title := '图书馆管理信息系统--恒星工作室';
Application.CreateForm(TDMLibPass, DMLibPass);
FormLogin:=TFormLogin.Create(Application);
if FormLogin.ShowModal<>mrOK then
begin
Application.Initialize;
Application.CreateForm(TDMLibrary, DMLibrary);
Application.CreateForm(TFormMain, FormMain);
FormLogin.Free;
end else FormLogin.Free;
Application.Run;
end.

在FormLogin中定义一变量作为标志 如CANN 并设置 通过的按钮的ModalResult为mrOK
procedure TFormLogin.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if ( not CANN) then
begin
ShowMessage('请选择范围!');
buttonNum:=0;
CanClose:=False;
end;
end;
 
多人接受答案了。
 
to pie:
为什么我用' if FormLogin.ShowModal<>mrOK then'编译时老出错,说mrok没定义呢?
请指教!
 
HAPPYBAB:
大哥, 我好久没有 上网了, Sorry
mrOK 定义在Controls单元中。
你必须在单元的开头位置 引用Controls,例如:
//-----------------
interface

uses Windows, Messages, SysUtils, CommDlg, Classes, Graphics, [red]Controls[/red],
Forms, StdCtrls, Printers;
//-----------------------
当然,你也可以直接用 1(Integer) .
 
TO PIE大哥:
在FormLogin中定义一变量作为标志 如CANN 并设置 通过的按钮的ModalResult为mrOK
procedure TFormLogin.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if ( not CANN) then
begin
ShowMessage('请选择范围!');
buttonNum:=0;
CanClose:=False;
end;
end;
这一段代码,是什么功能?
 
后退
顶部