Delphi 保存dbgrideh的列宽,位置等信息!
百度了一下,找到部分答案,利用dbgrideh自带的savecolumns可以保存列信息,
但是只能保存一个GRID的,我的软件里有好多个,怎么可以把它们的列信息保存到一个INI文件里。
搞定了,把TDBGRID.CLASSNAME,改成自己的字符串就行了,TDBGRID.CLASSNAME本身返回的就是字符串
手动保存呗 ,,,遍历col,将每个宽度写到ini文件中,读的时候一个一个设置width
BOOL WritePrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpString, // 键值,也就是数据
LPCTSTR lpFileName // INI文件的路径
);
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpDefault, // 如果lpReturnedString为空,则把个变量赋给lpReturnedString
LPTSTR lpReturnedString, // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区
DWORD nSize, // lpReturnedString的缓冲区大小
LPCTSTR lpFileName // INI文件的路径
);
这两个函数支持KeyName,AppName,每个GRID可以用一个AppName,其中的每一列用一个KeyName