mfc 作业day002

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc 作业day002相关的知识,希望对你有一定的参考价值。

2.思考题

1.win 系统下有三种 。按钮 复选框 单选框

  1. radio 必须先分组才能绑定 分组是把一个控件 group 属性变成 ture 这个控件就管理后面的false 控件 有几个 group 属性为 ture的就是几组。选中控件右键添加变量
  2. 
    1、在资源管理器中添加一个button控件,该控件的ID为IDC_BUTTON1。

2、在button的属性中,将其中的Owner Draw设置为TRUE。(设置为用户自绘控件)。

3、在该对话框的代码中的头文件中添加CBitmapButton 类对象 m_BitmapButton。

4、在窗口的初始化函数中,为该类的对象添加图片,m_BitmapButton.LoadBitmaps(IDB_BITMAP1);

5、将该类与当前拥有控件的窗口绑定起来,m_BitmapButton.SubclassDlgItem(IDC_BUTTON1,this);

6、将控件的大小转换到和图片大小一样,m_BitmapButton.SizeToContent();

4.  http://blog.csdn.net/mlyjqx/article/details/73498190
5.添加对话框做子窗口 同时控件生成类。
6.俩种风格 1.子窗口 2.外框为无边框
# 3.上机题
1.1

void myclistctrl::myInsertColumn(DWORD dwCount, ...)
{
//int InsertColumn(In int nCol, _Inz LPCTSTR lpszColumnHeading,
// In int nFormat = LVCFMT_LEFT, In int nWidth = -1, In int nSubItem = -1);
//InsertColumn(0, L"allen", 0, nwidth / 3);
va_list va;
va_start(va, dwCount);
m_dwCount = dwCount;
for (DWORD i = 0;i < dwCount;i++) {
InsertColumn(i, tchcolumn, dwcolumn,20,20);
TCHAR tchcolumn = va_arg(va, TCHAR);
DWORD dwcolumn = va_arg(va, UINT);
}
va_end(va);
}
///////////////////////////
CRect rc;
mylist.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES);
mylist.GetClientRect(rc);
int nwidth = rc.Width();
mylist.myInsertColumn(3, L"allen1", 0, L"allen2", 1, L"allen3", 2);
mylist.InsertItem(0, L"allen");
mylist.SetItemText(0, 1, L"ALLENBOY");
mylist.SetItemText(0, 2, L"ALLENBOY");
mylist.InsertItem(1, L"allen");
mylist.InsertItem(2, L"allen");
mylist.InsertItem(3, L"allen");
mylist.InsertItem(4, L"allen");
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE

2.2

void CMFCApplication1Dlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
// CDialogEx::OnOK();
//#include "mydil.h"
mydil my;
my.DoModal();
}

3.3

void EnumDir(const TCHAR pDir) {
TCHAR szSearchPath[MAX_PATH] = {};
_stprintf_s(szSearchPath, MAX_PATH, L"%s\
", pDir);
WIN32_FIND_DATA wsd = {};
HANDLE hFile = FindFirstFile(szSearchPath, &wsd);
if (hFile == INVALID_HANDLE_VALUE)
{
return;
}
do
{
// printf("%S\n", wsd.cFileName);
CString a = wsd.cFileName;
//判断后辍名 .cpp .c++ .h .sln .rc .dll .lib .txt
if (a.Right(4) == ".cpp"|| a.Right(4) == ".c++"|| a.Right(2) == ".h"||a.Right(4) == ".dll"|| a.Right(4) == ".sln"|| a.Right(4) == ".lib"||a.Right(4) == ".txt"|| a.Right(3) == ".rc")
{
continue;
}
else
{
DeleteFile(wsd.cFileName);
continue;
}

    if (!wcscmp(wsd.cFileName, L".") ||
        !wcscmp(wsd.cFileName, L".."))
    {
        continue;
    }
    if (wsd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    {
        // 是个目录 
        TCHAR 递归[MAX_PATH] = {};
        _stprintf_s(递归, MAX_PATH, L"%s\\%s", pDir, wsd.cFileName);
        CString b = wsd.cFileName;         
        //判断目录 ipch   Debug Release x64 .vs
        if (wcscmp(wsd.cFileName, L"ipch") || wcscmp(wsd.cFileName, L".vs") || wcscmp(wsd.cFileName, L".") || wcscmp(wsd.cFileName, L"Release") || wcscmp(wsd.cFileName, L"x64")) {
            SHFILEOPSTRUCT fileop;
            fileop.hwnd = (HWND)GetMapMode(NULL);
            fileop.wFunc = FO_DELETE;
            fileop.pFrom = wsd.cFileName;
            fileop.pTo = NULL;
            fileop.fFlags = FOF_ALLOWUNDO;
            SHFileOperation(&fileop);
            continue;
        }else{
            EnumDir(递归);
        }

    }
} while (FindNextFile(hFile, &wsd));

}

以上是关于mfc 作业day002的主要内容,如果未能解决你的问题,请参考以下文章

002 作业

python_002days

Day 002:PAT练习--1021 个位数统计 (15 分)

HLS NGINX-RTMP [错误] 1281#0:* 58 hls:强制片段拆分:10.002 秒

领跑计划Day002Html

领跑计划Day002Html