MFC怎样把从ini读取的内容显示在控件上

MFC怎样把从ini读取的内容显示在控件上,第1张

ini文件的读写,推荐使用:GetPrivateProfileInt 和 GetPrivateProfileString

搜索这两个函数,例子代码很多。

读取到的东西显示到控件更容易了。。但你要明确是什么控件。一般对控件有关联变量的话,直接复制给关联变量就可以了。

其实也不需要写代码了, c++自带2个函数的, 直接调下就好了

WritePrivateProfileString

GetPrivateProfileString

下面那个例子里面会在c盘下生成一个appname.ini

WritePrivateProfileString向里面写

[Section1]

FirstKey=It all worked out OK.

这些内容, 读的话也一样.

//build in vs2008

#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])

{

WritePrivateProfileString (TEXT("Section1"),

TEXT("FirstKey"),

TEXT("It all worked out OK."),

TEXT("c:\\appname.ini"))

wchar_t buf[1000]

GetPrivateProfileString(TEXT("Section1"),

TEXT("FirstKey"),

TEXT("can not read"), //如果没读到那么buf会被设置成can not read

buf,

1000,

TEXT("c:\\appname.ini"))

wprintf(TEXT("read from appname.ini [Section1] FirstKey is (%s)\n"), buf)

system("pause")

return 0

}

==================================================================

这个就是标准的c++读写, 2008下编译的. 如果你说是c的那只好自己封装函数了. 看你文件名明显就是个基于对话框的MFC Application, 说什么智能应用程序-_-!你不是没有include头文件吧

#include <windows.h>

BOOL CMy3Dlg::OnInitDialog()

{

CDialog::OnInitDialog()

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.

ASSERT((IDM_ABOUTBOX &0xFFF0) == IDM_ABOUTBOX)

ASSERT(IDM_ABOUTBOX <0xF000)

CMenu* pSysMenu = GetSystemMenu(FALSE)

if (pSysMenu != NULL)

{

CString strAboutMenu

strAboutMenu.LoadString(IDS_ABOUTBOX)

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR)

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu)

}

}

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog

SetIcon(m_hIcon, TRUE) // Set big icon

SetIcon(m_hIcon, FALSE) // Set small icon

// TODO: Add extra initialization here

WritePrivateProfileString (TEXT("Section1"),

TEXT("FirstKey"),

TEXT("It all worked out OK."),

TEXT("c:\\appname.ini"))

wchar_t buf[1000]

GetPrivateProfileString(TEXT("Section1"),

TEXT("FirstKey"),

TEXT("NULL"),

buf,

1000,

TEXT("c:\\appname.ini"))

AfxMessageBox(buf)

return TRUE // return TRUE unless you set the focus to a control

}

完全正常

有api函数

WritePrivateProfileString

WritePrivateProfileSection

等等一系列的

自己看MSDN了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11727889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存