首页 文章

表格位置/大小FMX - Win32

提问于
浏览
0

我正在使用C Builder为Win32(仅一种形式)构建FMX应用程序 . 我希望程序能够记住用户屏幕上的表单位置以及用户下次运行时的大小(可调整大小) .

有人能指出我正确的方向吗?

谢谢,接力员

更新:谢谢山姆 . 我做了你说的但是将位置信息写入SQLite数据库而不是文本文件 . db有一个名为“pos”的表,有5个整数字段 . 4是位置,1被命名为“项目”,只是为了方便我的更新查询(我不是远程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();

1 回答

  • 2

    OnClose将位置,高度,状态,...保存到INI文件中 . OnCreate恢复所有信息

相关问题