|
김백일 님이 쓰신 글 :
: 이용주 님이 쓰신 글 :
: : 프로그램을 실행해서 그것의 크기나 위치를 바꾸고 난뒤에 그것에 해당하는 레지스터리를 저장하는 방법이 궁금해서 이렇게 글을 올립니다.
: : 오늘 너무 질문 많이 한다구 귀찮게 생각하지 마시고, 자라나는 프로그래머 한명 살린다 생각하고 좀 갈켜주세요~ ^^
: : 폼을 닫고 다시 열었을때 최종적으로 위치한 위치값으로 다시 폼이 열리게 하고 싶거든요. 크기든 위치던지..
:
: TRegistryIniFile 클래스를 사용하면 됩니다. 사용법 무지 간단~~
:
: #define REG_KEY "Software\\OurCompany\\MyProgram"
:
: void __fastcall TSDIAppForm::FormCreate(TObject *Sender)
: {
: TRegistryIniFile *ini = new TRegistryIniFile(REG_KEY);
: Top = ini->ReadInteger("MainForm", "Top", 1);
: Left = ini->ReadInteger("MainForm", "Left", 1);
: Width = ini->ReadInteger("MainForm", "Width", 800);
: Height = ini->ReadInteger("MainForm", "Height", 600);
: WindowState = ini->ReadBool("MainForm", "InitMax", false) ?
: wsMaximized : wsNormal;
: delete ini;
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TSDIAppForm::FormClose(TObject *Sender,
: TCloseAction &Action)
: {
: TRegistryIniFile *ini = new TRegistryIniFile(REG_KEY);
: ini->WriteInteger("MainForm", "Top", Top);
: ini->WriteInteger("MainForm", "Left", Left);
: ini->WriteInteger("MainForm", "Width", Width);
: ini->WriteInteger("MainForm", "Height", Height);
: ini->WriteBool("MainForm", "InitMax", WindowState == wsMaximized);
: delete ini;
: }
: //---------------------------------------------------------------------------
:
:
: : 그리고 한가지만더요~ 혹시 윈엠프처럼 하나의 폼에 다른 폼이 자동으로 붙게 되는 방법을 알고 싶습니다.
: : 윈엠프의 메임창에 다른 창을 갖다 되면 근처에 갔을 경우, 그냥 딱 붙더군요. 혹시 그런 기능을 구현할수 있는지 궁금하고 가능하다면 방법을 알고 싶습니다 고수님들의 많은 답변 부탁드립니다.
:
: 게시판에서 '윈엠프', '윈앰프', '자석(폼)' 등의 검색어로
: 검색해 보시면 많이 나올겁니다.
두분의 친절한 답변 정말 감사드립니다.^^
제가 어제 일이 있어 오늘 아침에야 확인을 했네요..
열심히 해볼께요~ 또 몰으면 물어봐야징~ ^^*
그럼 즐거운 주말되세요.. 감사감사~
|