Form location/size FMX – Win32


i’m building an FMX app for Win32 (one form only) with C++ Builder. I’d like the program to remember where it’s form was located on the users screen and it’s size (it is resizeable) for the next time the user runs it.

Can someone point me in the right direction?


UPDATE: Thanks Sam. I did what you said but wrote the position info to an SQLite db instead of text file. The db has a table named “pos” with 5 integer fields. 4 are the positions and 1 is named “item” and is just to facilitate my update query (I’m not sql expert by long shot). Note, the code below needs try/catch improvements and some tests to make sure form coordinates are valid.

This code is in the form OnShow event:

TFDQuery *query2;
query2 = new TFDQuery(NULL);
query2->Connection = Form1->FDConnection1;
query2->SQL->Text = “SELECT * FROM pos”;
Form1->Left = query2->FieldByName(“left”)->AsInteger;
Form1->Top = query2->FieldByName(“top”)->AsInteger;
Form1->Width = query2->FieldByName(“width”)->AsInteger;
Form1->Height = query2->FieldByName(“height”)->AsInteger;

This code is in the form OnClose event:

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’”;

Comments are closed.