自己动手写记事本:
switch(id)
{
case ID_MENUITEMOPEN:
{
FILE *fp = fopen("d:/test.txt", "r");
char line[256];
fgets(line, sizeof(line), fp);
fclose(fp);
SetDlgItemText(hwnd, IDC_EDIT1, TEXT(line));
}
break;
default:
break;
}
打开对话框的使用:
首先#incllude<commdlg.h>
switch(id)
{
case IDC_OK:
{
OPENFILENAME ofn;
char szFile[MAX_PATH];
ZeroMemory(&ofn,sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = TEXT('\0');
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = TEXT("ALL(*.*)\0*.*\0Text\0*.TXT\0");
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.hwndOwner = hwnd;
ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT;
if (GetOpenFileName(&ofn))
{
MessageBox(NULL,szFile,"",MB_OK);
}
}
break;
default:
break;
}
switch(id)
{
case ID_MENUITEMOPEN:
{
FILE *fp = fopen("d:/test.txt", "r");
char line[256];
fgets(line, sizeof(line), fp);
fclose(fp);
SetDlgItemText(hwnd, IDC_EDIT1, TEXT(line));
}
break;
default:
break;
}
打开对话框的使用:
首先#incllude<commdlg.h>
switch(id)
{
case IDC_OK:
{
OPENFILENAME ofn;
char szFile[MAX_PATH];
ZeroMemory(&ofn,sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = TEXT('\0');
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = TEXT("ALL(*.*)\0*.*\0Text\0*.TXT\0");
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.hwndOwner = hwnd;
ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT;
if (GetOpenFileName(&ofn))
{
MessageBox(NULL,szFile,"",MB_OK);
}
}
break;
default:
break;
}
本文介绍了如何使用C语言编写一个简易的记事本程序,包括读取文件内容到编辑框及实现文件打开对话框的功能。通过具体代码示例展示了如何使用`fopen`和`fgets`函数来读取文本文件的内容,并利用`SetDlgItemText`函数将其显示在界面上。此外还介绍了如何利用`OPENFILENAME`结构体和`GetOpenFileName`函数创建并调用文件打开对话框。

被折叠的 条评论
为什么被折叠?



