表格 location/size FMX - Win32
Form location/size FMX - Win32
我正在使用 C++ Builder 为 Win32(仅一种形式)构建 FMX 应用程序。我希望程序记住它的形式在用户屏幕上的位置以及它的大小(它是可调整的)以供用户下次运行它时使用。
有人能指出我正确的方向吗?
谢谢,
接力员
更新:谢谢山姆。我按照你说的做了,但是将位置信息写入 SQLite 数据库而不是文本文件。该数据库有一个名为 "pos" 的 table,带有 5 个整数字段。 4 个是位置,1 个名为 "item",只是为了方便我的更新查询(我不是 sql 专家)。请注意,下面的代码需要 try/catch 改进和一些测试以确保表单坐标有效。
此代码采用 OnShow 事件的形式:
TFDQuery *query2;
query2 = new TFDQuery(NULL);
query2->Connection = Form1->FDConnection1;
query2->SQL->Text = "SELECT * FROM pos";
query2->Open();
Form1->Left = query2->FieldByName("left")->AsInteger;
Form1->Top = query2->FieldByName("top")->AsInteger;
Form1->Width = query2->FieldByName("width")->AsInteger;
Form1->Height = query2->FieldByName("height")->AsInteger;
query2->Close();
query2->DisposeOf();
此代码的形式为 OnClose 事件:
TFDQuery *queryUPDATE;
queryUPDATE = new TFDQuery(NULL);
queryUPDATE->Connection = Form1->FDConnection1;
queryUPDATE->SQL->Text = "UPDATE pos set left = '" + IntToStr(Form1->Left) + "', top = '" + IntToStr(Form1->Top) + "', width = '" + IntToStr(Form1->Width) + "', heigth = '" + IntToStr(Form1->Height) + "' WHERE item = '1'";
queryUPDATE->ExecSQL();
queryUPDATE->Close();
queryUPDATE->DisposeOf();
OnClose 将位置、高度、状态...保存到 INI 文件中。 OnCreate 恢复所有信息
我正在使用 C++ Builder 为 Win32(仅一种形式)构建 FMX 应用程序。我希望程序记住它的形式在用户屏幕上的位置以及它的大小(它是可调整的)以供用户下次运行它时使用。
有人能指出我正确的方向吗?
谢谢, 接力员
更新:谢谢山姆。我按照你说的做了,但是将位置信息写入 SQLite 数据库而不是文本文件。该数据库有一个名为 "pos" 的 table,带有 5 个整数字段。 4 个是位置,1 个名为 "item",只是为了方便我的更新查询(我不是 sql 专家)。请注意,下面的代码需要 try/catch 改进和一些测试以确保表单坐标有效。
此代码采用 OnShow 事件的形式:
TFDQuery *query2;
query2 = new TFDQuery(NULL);
query2->Connection = Form1->FDConnection1;
query2->SQL->Text = "SELECT * FROM pos";
query2->Open();
Form1->Left = query2->FieldByName("left")->AsInteger;
Form1->Top = query2->FieldByName("top")->AsInteger;
Form1->Width = query2->FieldByName("width")->AsInteger;
Form1->Height = query2->FieldByName("height")->AsInteger;
query2->Close();
query2->DisposeOf();
此代码的形式为 OnClose 事件:
TFDQuery *queryUPDATE;
queryUPDATE = new TFDQuery(NULL);
queryUPDATE->Connection = Form1->FDConnection1;
queryUPDATE->SQL->Text = "UPDATE pos set left = '" + IntToStr(Form1->Left) + "', top = '" + IntToStr(Form1->Top) + "', width = '" + IntToStr(Form1->Width) + "', heigth = '" + IntToStr(Form1->Height) + "' WHERE item = '1'";
queryUPDATE->ExecSQL();
queryUPDATE->Close();
queryUPDATE->DisposeOf();
OnClose 将位置、高度、状态...保存到 INI 文件中。 OnCreate 恢复所有信息