寻找能够保存窗口位置和大小的控件?
小弟现在需要一个能在程序退出自动将自己的位置、大小保存到注册表、再次运行又能自行恢复的控件,有源码最好!想偷懒^.^ 问题点数:50、回复次数:11Top
1 楼yijun2000()回复于 2000-02-27 21:40:00 得分 0
goto www.torry.ru
lots of it.Top
2 楼bunny()回复于 2000-02-27 22:12:00 得分 15
在Delphi下编写这样的程序我没有做过,不过,在C++Builder下编写这样的程序我做过,相信它们是相似的吧!希望对你有所帮助。
源程序如下:
引用头文件: registry.hpp
创建窗体时将注册表中的信息读入;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
const String RegKey = "\\software\\My Soft\\Test";
TRegistry *MyRegistry = new TRegistry();
try {
if(MyRegistry->OpenKey(RegKey, false)) {
Top = MyRegistry->ReadInteger("Top");
Left = MyRegistry->ReadInteger("Left");
Height = MyRegistry->ReadInteger("Height");
Width = MyRegistry->ReadInteger("Width");
MyRegistry->CloseKey();
}
}
catch(ERegistryException &E) {
ShowMessage(E.Message);
delete MyRegistry;
return;
}
delete MyRegistry;
}
窗体关闭时将位置及大小等信息写入注册表;
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
const String RegKey = "\\software\\My Soft\\Test";
TRegistry *MyRegistry = new TRegistry();
try {
if(MyRegistry->OpenKey(RegKey, true)) {
MyRegistry->WriteInteger("Top",Top);
MyRegistry->WriteInteger("Left",Left);
MyRegistry->WriteInteger("Height",Height);
MyRegistry->WriteInteger("Width",Width);
MyRegistry->CloseKey();
}
}
catch(ERegistryException &E) {
ShowMessage(E.Message);
delete MyRegistry;
return;
}
delete MyRegistry;
}
Top
3 楼Firing_Sky(火的天空)回复于 2000-02-27 22:23:00 得分 0
这……也要用控件吗?自己写也很方便啊!Lin你真是懒啊!(其实我也一样 ^_^)Top
4 楼Lin(林)回复于 2000-02-28 09:09:00 得分 0
To bunny:
这样我也做过,不过我想要一个控减,这样就不需要重复很多这样的代码了。不过还是要感谢你。
To Firing_Sky:
一时不想写,就只好向大家伙要了。你有没有,分可以酌情给你?Top
5 楼supershan()回复于 2000-02-28 09:39:00 得分 0
为什么要用控件,退出时把位置存到INI中,再次运行从INI中读数据就可以了。Top
6 楼xlili(liker)回复于 2000-02-28 09:45:00 得分 0
直接写ini不就行了。如果真的要,
AHM或RXLIB中有。Top
7 楼Firing_Sky(火的天空)回复于 2000-02-28 18:59:00 得分 30
那好,我试着写一个给你Top
8 楼kxy(手举穿肠毒药,怀抱刮骨钢刀)回复于 2000-02-28 19:25:00 得分 0
LMD的控件包中有,我一直用它来保存设置:)Top
9 楼Lin(林)回复于 2000-02-28 19:29:00 得分 0
To Firing_Sky:
写好邮至jiazhonglin@sina.comTop
10 楼Firing_Sky(火的天空)回复于 2000-02-28 23:34:00 得分 5
我已经邮出去了,带了一个Demo,不过看kxy给你的的回复,恐怕你不需要它了 :(Top
11 楼Lin(林)回复于 2000-02-29 12:36:00 得分 0
To all:
Thaksssssssss for help!Top




