一个简单的文本文件实时查看工具

最近有个项目需要实时查看一些文件的内容,感觉可以自己做一个,说做就做。
习惯VS2015 MFC编程,一开始是打算单文档程序的,做了一个版本感觉怪怪的,感觉太复杂,用对话框程序做了一个。
其实比较简单,打开文件后,在edit中显示文件内容,文件打开写入参考其他大佬的文章:
https://blog.csdn.net/c_base_jin/article/details/54882541


通过定时器循环打开文件并把焦点放到最后面,因为需要把焦点设置在edit中,OnInitDialog函数要求返回FALSE

CEdit * pEdit = (CEdit*)GetDlgItem(IDC_EDIT);
pEdit->SetSel(-1);
pEdit->SetFocus();


后面加了一个标志位进行判断是否进行了修改,修改后停止实时更新文件。
添加一个拖入文件打开功能,方便使用

void CNoteViewerDlg::OnDropFiles(HDROP hDropInfo)
{
    UINT count;
    TCHAR filePath[MAX_PATH] = { 0 };
    count = DragQueryFile(hDropInfo, -1, NULL, 0);
    if (1 == count)
    {
        DragQueryFile(hDropInfo, 0, filePath, sizeof(filePath));
        OpenFile(filePath);
    }
    DragFinish(hDropInfo);
    CDialogEx::OnDropFiles(hDropInfo);
}


因为用了edit,缩放对话框时,需要自动调整大小,添加WM_SIZE消息,

void CNoteViewerDlg::OnSize(UINT nType, int cx, int cy)
{
    CDialogEx::OnSize(nType, cx, cy);

    CWnd* pWnd = GetDlgItem(IDC_EDIT);
    if (pWnd->GetSafeHwnd())
        pWnd->MoveWindow(15, 55, cx - 30, cy - 30 - 40);
}


最后分享一个对话框程序也能作为默认打开程序的方式,在OnInitDialog函数中添加,可实现拖动文本文件到程序文件中,程序打开并打开文件。

CString strfiles = theApp.m_lpCmdLine;
if (strfiles != "")
{
    OpenFile(strfiles);
}

想要完整工程的也可以去下载,不过也是以上内容的整合:

https://download.csdn.net/download/long00000kid/12832226

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值