美文网首页
2020-12-11--34--u盘小偷的界面制作

2020-12-11--34--u盘小偷的界面制作

作者: heiqimingren | 来源:发表于2020-12-12 18:37 被阅读0次

学习收货:
01,界面制作太简单了,我跟着视频就学会了
02,作业,给控件添加变量。
--------然后代码中会有2个地方有变化
第一,在头文件当中的,public部分增加了一个类成员
例如,给编辑框添加的控件变量


image.png

然后,在类实现的cpp文件当中,有详细展示


image.png

---总结,基本上就会有2个地方有变化。如果删除这2个部分,那么就可以重新定义控件变量了。
03,老师完成的作业案例,我研究了一下,搞定了。


image.png image.png

04,在上一条,我又接触到了一个api函数,或者封装的类


image.png

api函数:GetModuleFileName


image.png
//得到当前文件夹目录。
BOOL CUdiskThieftDlg::GetCurrDirectory(LPTSTR lpBuffer, DWORD nBufferLength)
{
    //如果文件路径和路径长度小于0,那么就返回,此步骤相当于检验一下。
    if (!lpBuffer || nBufferLength <= 0) return FALSE;

    TCHAR szPath[MAX_PATH] = { 0 };
    DWORD dwRet = GetModuleFileName(NULL, szPath, MAX_PATH);
    /*
    需要获得程序当前的运行目录,这时就可以使用GetModuleFileNam
    DWORD WINAPI GetModuleFileName(
    HMODULE hModule,     //要获取文件名的模块名柄,null表示当前模块 
    LPTSTR lpFileName,    //输出参数,存放取得的文件名 
    DWORD nSize            //lpFileName参数的长度 
    );

    返回值:
        如果返回为成功,将在lpFileName的缓冲区当中返回相应模块的路径,如果所设的nSize过小,那么返回仅按所设置缓冲区大小返回相应字符串内容。
        如果函数失败,返回值将为0,利用GetLastError可获得异常代码。

    */
    if (dwRet <= 0) return FALSE;
    //获得当前路径的长度,存储在dwPathLen当中。
    DWORD dwPathLen = _tcslen(szPath); 

    //从后往前遍历文件目录字符串,发现第一个\,就去掉,换成结束符\0;
    for (DWORD dwIdx = dwPathLen - 1; dwIdx >= 0; --dwIdx)
    {
        if (szPath[dwIdx] != '\\') continue;
        szPath[dwIdx] = '\0';
        break;
    }
    //再次得到处理过后的,文件夹路径长度
    dwPathLen = _tcslen(szPath);

    //判断一下 nBufferLength是否比dwPathLen小?如果小于,那就选择nBufferLength,否则选择dwPathLen
    DWORD dwCopyLen = (nBufferLength - 1 <= dwPathLen) ? nBufferLength : dwPathLen;

    //把dwCopyLen,作为结果传输到函数外,留着作别的使用。
    _tcsncpy_s(lpBuffer, nBufferLength, szPath, dwCopyLen);

    return TRUE;

}

void CUdiskThieftDlg::OnBnClickedButton1()
{
    //设置字符串数组存储 当前文件夹路径
    TCHAR szCurrPath[MAX_PATH] = { 0 };
    //得到当前文件夹路径,储存在szCurrPath当中。
    GetCurrDirectory(szCurrPath, MAX_PATH);

    CFolderPickerDialog dlg(szCurrPath);
    /*CFolderPickerDialog类封装了Windows常用的目录选择对话框
    中文翻译为"文件夹拾取对话框".是Visual C++ 2008中新引入的针对文件夹选择对话框设计的类,此类替代了传统的SDK方法,而且具有更好的外观.但是,此类仅适用于vista及以上windows操作系统.
    头文件: afxdlgs.h

    构造参数
    explicit CFolderPickerDialog(
    LPCTSTR lpszFolder = NULL,          //初始目录
    DWORD dwFlags = 0,                  //个性化窗口标志位
    CWnd* pParentWnd = NULL,           //父窗口句柄
    DWORD dwSize = 0                     //OPENFILENAME结构的大小
    );

    */
    if (dlg.DoModal())
    {
        CString strFolderPath = dlg.GetPathName();

        //设置文件框的文字。把处理过的路径,送到文字框当中显示出来
        SetDlgItemText(IDC_EDIT2, strFolderPath);
    }
}

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


image.png
image.png

相关文章

  • 2020-12-11--34--u盘小偷的界面制作

    学习收货:01,界面制作太简单了,我跟着视频就学会了02,作业,给控件添加变量。--------然后代码中会有2个...

  • deepin系统安装

    deepinU盘启动盘的制作 镜像选择 联想按F12进入选择使用usb进入(推荐)或者进入bios界面设置为u盘启...

  • centos7系统GUI安装文档

    centos7系统GUI安装文档自行制作系统盘,设置服务器通过光盘启动,得到安装界面界面如下安装界面选择第一个安装...

  • 安装CentOS7

    安装系统 1.制作一个启动盘。 2.将启动盘插入电脑,用U盘引导启动。 3.进入CentOS的安装界面,按TAB键...

  • U盘安装Centos7 问题

    把制作好的U盘插入需要安装Linux的电脑,把电脑的第一启动方式设置为U盘启动之后 会进入选择安装界面image....

  • Dell 5810 Nvidia 1080ti Ubuntu 1

    安装时黑屏 制作usb启动盘 开机启动按F12,选择USB,进入到Ubuntu选择安装界面 选择“Install ...

  • linux下制作启动盘

    完全卸载lwindows后,想要制作启动盘就要有点尴尬,以前都是windows的图形化界面,什么老毛桃软碟通,后来...

  • Windows系统下重装系统

    老毛桃U盘安装第一步:找个正常的电脑下载老毛桃工具,安装老毛桃z,按照老毛桃界面的提示将U盘制作成启动盘第二步:第...

  • centos1804系统安装

    可以说全是截图,超级详细的记录。centos 1804 1、制作U盘启动,开机进这个页面就对了 2、我是要用作界面...

  • VR开发--Cardboard项目二:UI界面制作

    千里之行,始于足下,只有掌握UGUI才能更好的运用. 项目二:制作VR的UI界面(包括血条制作,介绍界面,包裹界面...

网友评论

      本文标题:2020-12-11--34--u盘小偷的界面制作

      本文链接:https://www.haomeiwen.com/subject/cftegktx.html