برنامه نویسی

جدول مجازی – انجمن DEV

Summarize this content to 400 words in Persian Lang

برنامه myapp;

BOOL myapp::InitApplication(){/*m_pMainWnd = فریم اصلی جدید؛

m_pMainWnd->SendMessage(WM_CUSTOM_MESSAGE, 333, 44);
m_menu.LoadMenuW(IDM_FILE_OPEN);
m_pMainWnd->DrawMenuBar();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T(“Application initialized!”), _T(“Info”), MB_OK);

return CWinApp::InitApplication();

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

m_pMainWnd = new main_frame;

// 加载主菜单
m_menu.LoadMenu(IDM_FILE_OPEN);
m_pButton = new CButton;
m_pButton->Create(_T(“Button Text”), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10, 10, 100, 30), AfxGetMainWnd(), IDC_BUTTON_OK);

// 获取主菜单的句柄
m_pMainWnd->SetMenu(&m_menu);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

/* if (pMainMenu){// آیتم های منو را به منوی اصلی اضافه کنیدCMenu* pSubMenu = m_menu.GetSubMenu(0).if (pSubMenu){// آیتم منو را در موقعیت مشخص شده منوی اصلی قرار دهیدpMainMenu->InsertMenu(1, MF_BYPOSITION | MF_POPUP, (UINT_PTR)pSubMenu->GetSafeHmenu(), _T(“New Menu”));}}*/m_pMainWnd->ShowWindow(m_nCmdShow);m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T(“Application initialized!”), _T(“Info”), MB_OK);

dog* f=new dog;
f->Create(NULL, L”dd”, WS_OVERLAPPEDWINDOW, CRect(0, 0, 500, 300));
f->ShowWindow(SW_SHOW);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// f->ShowOwnedWindows(false);f->UpdateWindow();

return CWinApp::InitApplication();

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

dog:: dog(){//Create(NULL، L”dd، WS_OVERLAPPEDWINDOW، CRect(0، 0، 500، 300));}

/*main_frame::main_frame(){Create(NULL, _T(“Hello”), WS_OVERLAPPEDWINDOW, CRect(32, 64, 352, 304));

MessageBox( _T(“Main frame created!”), _T(“Info”), MB_OK);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

LRESULT main_frame::WindowProc(پیام UINT، WPARAM wParam، LPARAM lParam){سوئیچ (پیام){مورد WM_CLOSE:MessageBox( _T(“دکمه بستن کلیک شد!”)، _T(“اطلاعات”)، MB_OK|MB_RIGHT);شکستنمورد WM_LBUTTONDOWN:MessageBox( _T(“دکمه چپ ماوس کلیک شد!”)، _T(“اطلاعات”)، MB_OK);شکستن

default:
return CWnd::WindowProc(message, wParam, lParam);
}

return 0;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

//#include // اگر تابعی در کلاس پنجره باشد (CWnd)

// nn کادر محاوره ای

class nn: CDdialog عمومی{DECLARE_DYNAMIC(nn)عمومی:nn(CWnd* pParent = nullptr // سازنده استاندارد).BOOL OnInitDialog();

virtual ~nn();
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) ;

afx_msg BOOL OnEraseBkgnd(CDC* pDC);
void AdjustColumnWidth();
int GetColumnCount();

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// void SetRowHeigt(int);// void AutoColumn(void)

//داده های گفتگو

enum { IDD = IDD_DIALOG1 };

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

محافظت شده:فضای خالی مجازی DoDataExchange (CDataExchange* pDX); // DDX/DDV 支持CListCtrl m_ListCode;

DECLARE_MESSAGE_MAP()

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

عمومی:// afx_msg void OnLvnItemchangedList1(NMHDR* pNMHDR، LRESULT* pResult);// afx_msg void OnDrawItem(int nIDCtl، LPDRAWITEMSTRUCT lpDrawItemStruct);afx_msg void OnLvnItemchangedList1(NMHDR* pNMHDR، LRESULT* pResult);};

برنامه myapp;

BOOL myapp::InitApplication(){/*m_pMainWnd = فریم اصلی جدید؛

m_pMainWnd->SendMessage(WM_CUSTOM_MESSAGE, 333, 44);
m_menu.LoadMenuW(IDM_FILE_OPEN);
m_pMainWnd->DrawMenuBar();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T(“Application initialized!”), _T(“Info”), MB_OK);

return CWinApp::InitApplication();

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

m_pMainWnd = new main_frame;

// 加载主菜单
m_menu.LoadMenu(IDM_FILE_OPEN);
m_pButton = new CButton;
m_pButton->Create(_T(“Button Text”), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10, 10, 100, 30), AfxGetMainWnd(), IDC_BUTTON_OK);

// 获取主菜单的句柄
m_pMainWnd->SetMenu(&m_menu);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

/* if (pMainMenu){// آیتم های منو را به منوی اصلی اضافه کنیدCMenu* pSubMenu = m_menu.GetSubMenu(0).if (pSubMenu){// آیتم منو را در موقعیت مشخص شده منوی اصلی قرار دهیدpMainMenu->InsertMenu(1, MF_BYPOSITION | MF_POPUP, (UINT_PTR)pSubMenu->GetSafeHmenu(), _T(“New Menu”));}}*/m_pMainWnd->ShowWindow(m_nCmdShow);m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T(“Application initialized!”), _T(“Info”), MB_OK);

dog* f=new dog;
f->Create(NULL, L”dd”, WS_OVERLAPPEDWINDOW, CRect(0, 0, 500, 300));
f->ShowWindow(SW_SHOW);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// f->ShowOwnedWindows(false);f->UpdateWindow();

return CWinApp::InitApplication();

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

dog:: dog(){//Create(NULL، L”dd، WS_OVERLAPPEDWINDOW، CRect(0، 0، 500، 300));}

/*main_frame::main_frame(){Create(NULL, _T(“Hello”), WS_OVERLAPPEDWINDOW, CRect(32, 64, 352, 304));

MessageBox( _T(“Main frame created!”), _T(“Info”), MB_OK);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

LRESULT main_frame::WindowProc(پیام UINT، WPARAM wParam، LPARAM lParam){سوئیچ (پیام){مورد WM_CLOSE:MessageBox( _T(“دکمه بستن کلیک شد!”)، _T(“اطلاعات”)، MB_OK|MB_RIGHT);شکستنمورد WM_LBUTTONDOWN:MessageBox( _T(“دکمه چپ ماوس کلیک شد!”)، _T(“اطلاعات”)، MB_OK);شکستن

default:
return CWnd::WindowProc(message, wParam, lParam);
}

return 0;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

// nn.cpp: فایل پیاده سازی//

//#include “pch.h”

// nn کادر محاوره ای

IMPLEMENT_DYNAMIC (nn، CDdialog)BEGIN_MESSAGE_MAP(nn، CDdialog)// ON_NOTIFY(LVN_ITEMCHANGED، IDC_LIST1، &nn::OnLvnItemchangedList1)ON_WM_DRAWITEM()ON_WM_ERASEBKGND()// ON_NOTIFY(LVN_ITEMCHANGED، IDC_LIST1، &nn::OnLvnItemchangedList1)END_MESSAGE_MAP()

nn::nn(CWnd* pParent /=nullptr/): CDialog (IDD_DIALOG1، pParent){

}

nn::~nn(){}

void nn::OnDrawItem(int nIDCtl، LPDRAWITEMSTRUCT lpDrawItemStruct){

if (nIDCtl == IDC_LIST1)
{
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect rcItem(lpDrawItemStruct->rcItem);
int nItem = lpDrawItemStruct->itemID;

if (lpDrawItemStruct->itemAction & ODA_DRAWENTIRE)
{
// 绘制列表项背景色
pDC->FillSolidRect(rcItem, RGB(255, 255, 255)); // 设置背景色为白色

// 绘制红色分隔线
CPen pen(PS_SOLID, 1, RGB(255, 0, 0)); // 设置红色画笔
CPen* pOldPen = pDC->SelectObject(&pen);
pDC->MoveTo(rcItem.left, rcItem.bottom – 1);
pDC->LineTo(rcItem.right, rcItem.bottom – 1);
pDC->SelectObject(pOldPen);
}

// 绘制列表项文本
CString strText = m_ListCode.GetItemText(nItem, 0);
rcItem.DeflateRect(2, 2);
pDC->DrawText(strText, rcItem, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
}
else
{
CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

BOOL nn::OnEraseBkgnd(CDC*pDC){بازگشت TRUE;}

void nn::DoDataExchange(CDataExchange* pDX){CDdialog::DoDataExchange(pDX);DDX_Control (pDX, IDC_LIST1, m_ListCode //ارتباط کنترل لیست با متغیر عضو).}

//#شامل

//نگاشت پیام گفتگو

// nn کنترل کننده پیام

BOOL nn::OnInitDialog(){CDdialog::OnInitDialog();/* SetWindowPos(NULL, 0, 0, 1000, 960, SWP_NOMOVE | SWP_NOZORDER)؛//سبک کنترل لیست را تنظیم کنید

DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
dwStyle |= LVS_EX_GRIDLINES; // 列表控件行列分隔线
//设置列表控件分隔线颜色
m_ListCode.SetBkColor(RGB(255, 255, 255)); // 设置背景色为白色
m_ListCode.SetTextBkColor(RGB(255, 255, 255)); // 设置文本背景色为白色
m_ListCode.SetTextColor(RGB(0, 0, 0)); // 设置文字颜色为黑色

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

//m_ListCode.SetGridLineColor(RGB(255, 0, 0));

m_ListCode.SetExtendedStyle(dwStyle);
//m_ListCode.SetItemIndexState()
// 添加列表控件列
m_ListCode.InsertColumn(0, _T(“代码”), LVCFMT_LEFT, 600*/

// 设置列表控件风格
DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
m_ListCode.SetExtendedStyle(dwStyle);

// 添加列表控件列
m_ListCode.InsertColumn(0, _T(“代码”), LVCFMT_LEFT, 600);

// 设置自定义绘制列表控件
m_ListCode.SetExtendedStyle(m_ListCode.GetExtendedStyle() | LVS_OWNERDRAWFIXED);
m_ListCode.SetCallbackMask(LVN_ODCACHEHINT | LVN_GETDISPINFO);
m_ListCode.SetItemCount(100); // 设置列表项数量,根据实际情况修改

// 设置背景色为白色
m_ListCode.SetBkColor(RGB(255, 255, 255));
// 设置文本背景色为白色
m_ListCode.SetTextBkColor(RGB(255, 255, 255));
// 设置文字颜色为黑色
m_ListCode.SetTextColor(RGB(1, 0, 0));

CRect rect;
GetDlgItem(IDC_LIST1)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.right = rect.left + 1200; // 设置列表控件的宽度
rect.bottom = rect.top + 1800; // 设置列表控件的高度
m_ListCode.MoveWindow(rect);
// 打开.nc文件
std::ifstream file(“D:\\叶轮粗加工(简单11).NC”);
if (!file)
{
AfxMessageBox(_T(“无法打开文件”));
return FALSE;
}
AfxMessageBox(L”dddd”);
std::string line;
int itemIndex = 0;
while (std::getline(file, line))
{
// 将代码行转换为CString类型
CString strLine(line.c_str());

// 添加代码行到列表控件
m_ListCode.InsertItem(itemIndex, strLine);

itemIndex++;
/*
CString s = itoa(itemIndex,sizeof(CString), 10);
CString s1 = ” “;
s.Format(L”the is %s”, s);
OutputDebugString(s);*/
// CString strLine(line.c_str());

// 添加代码行到列表控件
// m_ListCode.InsertItem(itemIndex, strLine);

itemIndex++;

CString s;
s.Format(L”the is %d”, itemIndex);
OutputDebugString(s);

}

file.close(); // 关闭文件

return TRUE;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

BOOL nn::OnInitDialog(){CDdialog::OnInitDialog();

// 设置列表控件风格
DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
m_ListCode.SetExtendedStyle(dwStyle);

// 添加列表控件列
m_ListCode.InsertColumn(0, _T(“代码”), LVCFMT_LEFT, 600);

// 设置自定义绘制列表控件
m_ListCode.SetExtendedStyle(m_ListCode.GetExtendedStyle() | LVS_OWNERDRAWFIXED);
m_ListCode.SetCallbackMask(LVN_ODCACHEHINT | LVN_GETDISPINFO);
m_ListCode.SetItemCount(100); // 设置列表项数量,根据实际情况修改

// 设置列表控件位置和大小
CRect rect;
GetDlgItem(IDC_LIST1)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.right = rect.left + 1100; // 设置列表控件的宽度
rect.bottom = rect.top + 2111; // 设置列表控件的高度
m_ListCode.MoveWindow(rect);

// 打开.nc文件
std::ifstream file(“D:\\叶轮粗加工(简单11).NC”);
if (!file)
{
AfxMessageBox(_T(“无法打开文件”));
return FALSE;
}

std::string line;
int itemIndex = 0;
while (std::getline(file, line))
{
// 将代码行转换为CString类型
CString strLine(line.c_str());

// 添加代码行到列表控件
int index = m_ListCode.InsertItem(itemIndex, strLine);

// 调整列宽度以适应数据的长度
m_ListCode.SetColumnWidth(0, LVSCW_AUTOSIZE);

itemIndex++;
}

file.close(); // 关闭文件

return TRUE;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

BOOL nn::OnInitDialog(){CDdialog::OnInitDialog();

// 设置列表控件风格
DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
m_ListCode.SetExtendedStyle(dwStyle);

// 添加列表控件列
m_ListCode.InsertColumn(0, _T(“代码”), LVCFMT_LEFT, 600);

// 设置自定义绘制列表控件
m_ListCode.SetExtendedStyle(m_ListCode.GetExtendedStyle() | LVS_OWNERDRAWFIXED);
m_ListCode.SetCallbackMask(LVN_ODCACHEHINT | LVN_GETDISPINFO);
m_ListCode.SetItemCount(100); // 设置列表项数量,根据实际情况修改

// 设置列表控件位置和大小
CRect rect;
GetDlgItem(IDC_LIST1)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.right = rect.left + 1200; // 设置列表控件的宽度
rect.bottom = rect.top + 1800; // 设置列表控件的高度
m_ListCode.MoveWindow(rect);

// 打开.nc文件
std::ifstream file(“D:\\叶轮粗加工(简单11).NC”);
if (!file)
{
AfxMessageBox(_T(“无法打开文件”));
return FALSE;
}

std::string line;
int itemIndex = 0;
while (std::getline(file, line))
{
// 将代码行转换为CString类型
CString strLine(line.c_str());

// 添加代码行到列表控件
int index = m_ListCode.InsertItem(itemIndex, strLine);

// 调整列宽度以适应数据的长度

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// m_ListCode.SetColumnWidth(0، LVSCW_AUTOSIZE);

itemIndex++;
}

file.close(); // 关闭文件

return TRUE;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}/*

void nn::OnDrawItem(int nIDCtl، LPDRAWITEMSTRUCT lpDrawItemStruct){اگر (nIDCtl == IDC_LIST1){CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);

// 设置绘制的字体
CFont font;
font.CreateFont(8, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, _T(“Arial”));
pDC->SelectObject(&font);

// 计算单元格的位置和大小
CRect rect(lpDrawItemStruct->rcItem);
rect.DeflateRect(2, 2); // 减去边距

// 获取单元格的文本
CString strText;
m_ListCode.GetItemText(lpDrawItemStruct->itemID, lpDrawItemStruct->itemData, strText);

// 绘制单元格的背景
pDC->FillSolidRect(rect, RGB(255, 255, 255)); // 白色背景

// 绘制单元格的文本
pDC->SetTextColor(RGB(0, 0, 0)); // 黑色字体
pDC->DrawText(strText, rect, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
}
else
{
CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

برنامه myapp;

BOOL myapp::InitApplication()
{/*
m_pMainWnd = فریم اصلی جدید؛

m_pMainWnd->SendMessage(WM_CUSTOM_MESSAGE, 333, 44);
m_menu.LoadMenuW(IDM_FILE_OPEN);
m_pMainWnd->DrawMenuBar();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T("Application initialized!"), _T("Info"), MB_OK);

return CWinApp::InitApplication();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

m_pMainWnd = new main_frame;

// 加载主菜单
m_menu.LoadMenu(IDM_FILE_OPEN);
m_pButton = new CButton;
m_pButton->Create(_T("Button Text"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10, 10, 100, 30), AfxGetMainWnd(), IDC_BUTTON_OK);


// 获取主菜单的句柄
 m_pMainWnd->SetMenu(&m_menu);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

/* if (pMainMenu)
{
// آیتم های منو را به منوی اصلی اضافه کنید
CMenu* pSubMenu = m_menu.GetSubMenu(0).
if (pSubMenu)
{
// آیتم منو را در موقعیت مشخص شده منوی اصلی قرار دهید
pMainMenu->InsertMenu(1, MF_BYPOSITION | MF_POPUP, (UINT_PTR)pSubMenu->GetSafeHmenu(), _T(“New Menu”));
}
}
*/
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T("Application initialized!"), _T("Info"), MB_OK);


dog* f=new dog;
f->Create(NULL, L"dd", WS_OVERLAPPEDWINDOW, CRect(0, 0, 500, 300));
f->ShowWindow(SW_SHOW);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// f->ShowOwnedWindows(false);
f->UpdateWindow();

return CWinApp::InitApplication();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

dog:: dog()
{
//Create(NULL، L”dd، WS_OVERLAPPEDWINDOW، CRect(0، 0، 500، 300));
}

/*
main_frame::main_frame()
{
Create(NULL, _T(“Hello”), WS_OVERLAPPEDWINDOW, CRect(32, 64, 352, 304));

MessageBox( _T("Main frame created!"), _T("Info"), MB_OK);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

LRESULT main_frame::WindowProc(پیام UINT، WPARAM wParam، LPARAM lParam)
{
سوئیچ (پیام)
{
مورد WM_CLOSE:
MessageBox( _T(“دکمه بستن کلیک شد!”)، _T(“اطلاعات”)، MB_OK|MB_RIGHT);
شکستن
مورد WM_LBUTTONDOWN:
MessageBox( _T(“دکمه چپ ماوس کلیک شد!”)، _T(“اطلاعات”)، MB_OK);
شکستن

default:
    return CWnd::WindowProc(message, wParam, lParam);
}

return 0;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

//#include // اگر تابعی در کلاس پنجره باشد (CWnd)

// nn کادر محاوره ای

class nn: CDdialog عمومی
{
DECLARE_DYNAMIC(nn)
عمومی:
nn(CWnd* pParent = nullptr // سازنده استاندارد).
BOOL OnInitDialog();

virtual ~nn();
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)  ;

afx_msg BOOL OnEraseBkgnd(CDC* pDC);
void AdjustColumnWidth();
int  GetColumnCount();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// void SetRowHeigt(int);
// void AutoColumn(void)

//داده های گفتگو

enum { IDD = IDD_DIALOG1 };
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

محافظت شده:
فضای خالی مجازی DoDataExchange (CDataExchange* pDX); // DDX/DDV 支持
CListCtrl m_ListCode;

DECLARE_MESSAGE_MAP()
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

عمومی:
// afx_msg void OnLvnItemchangedList1(NMHDR* pNMHDR، LRESULT* pResult);
// afx_msg void OnDrawItem(int nIDCtl، LPDRAWITEMSTRUCT lpDrawItemStruct);
afx_msg void OnLvnItemchangedList1(NMHDR* pNMHDR، LRESULT* pResult);
};

برنامه myapp;

BOOL myapp::InitApplication()
{/*
m_pMainWnd = فریم اصلی جدید؛

m_pMainWnd->SendMessage(WM_CUSTOM_MESSAGE, 333, 44);
m_menu.LoadMenuW(IDM_FILE_OPEN);
m_pMainWnd->DrawMenuBar();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T("Application initialized!"), _T("Info"), MB_OK);

return CWinApp::InitApplication();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

m_pMainWnd = new main_frame;

// 加载主菜单
m_menu.LoadMenu(IDM_FILE_OPEN);
m_pButton = new CButton;
m_pButton->Create(_T("Button Text"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10, 10, 100, 30), AfxGetMainWnd(), IDC_BUTTON_OK);


// 获取主菜单的句柄
 m_pMainWnd->SetMenu(&m_menu);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

/* if (pMainMenu)
{
// آیتم های منو را به منوی اصلی اضافه کنید
CMenu* pSubMenu = m_menu.GetSubMenu(0).
if (pSubMenu)
{
// آیتم منو را در موقعیت مشخص شده منوی اصلی قرار دهید
pMainMenu->InsertMenu(1, MF_BYPOSITION | MF_POPUP, (UINT_PTR)pSubMenu->GetSafeHmenu(), _T(“New Menu”));
}
}
*/
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();

MessageBox(NULL, _T("Application initialized!"), _T("Info"), MB_OK);


dog* f=new dog;
f->Create(NULL, L"dd", WS_OVERLAPPEDWINDOW, CRect(0, 0, 500, 300));
f->ShowWindow(SW_SHOW);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// f->ShowOwnedWindows(false);
f->UpdateWindow();

return CWinApp::InitApplication();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

dog:: dog()
{
//Create(NULL، L”dd، WS_OVERLAPPEDWINDOW، CRect(0، 0، 500، 300));
}

/*
main_frame::main_frame()
{
Create(NULL, _T(“Hello”), WS_OVERLAPPEDWINDOW, CRect(32, 64, 352, 304));

MessageBox( _T("Main frame created!"), _T("Info"), MB_OK);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

LRESULT main_frame::WindowProc(پیام UINT، WPARAM wParam، LPARAM lParam)
{
سوئیچ (پیام)
{
مورد WM_CLOSE:
MessageBox( _T(“دکمه بستن کلیک شد!”)، _T(“اطلاعات”)، MB_OK|MB_RIGHT);
شکستن
مورد WM_LBUTTONDOWN:
MessageBox( _T(“دکمه چپ ماوس کلیک شد!”)، _T(“اطلاعات”)، MB_OK);
شکستن

default:
    return CWnd::WindowProc(message, wParam, lParam);
}

return 0;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

// nn.cpp: فایل پیاده سازی
//

//#include “pch.h”

// nn کادر محاوره ای

IMPLEMENT_DYNAMIC (nn، CDdialog)
BEGIN_MESSAGE_MAP(nn، CDdialog)
// ON_NOTIFY(LVN_ITEMCHANGED، IDC_LIST1، &nn::OnLvnItemchangedList1)
ON_WM_DRAWITEM()
ON_WM_ERASEBKGND()
// ON_NOTIFY(LVN_ITEMCHANGED، IDC_LIST1، &nn::OnLvnItemchangedList1)
END_MESSAGE_MAP()

nn::nn(CWnd* pParent /=nullptr/)
: CDialog (IDD_DIALOG1، pParent)
{

}

nn::~nn()
{
}

void nn::OnDrawItem(int nIDCtl، LPDRAWITEMSTRUCT lpDrawItemStruct)
{

if (nIDCtl == IDC_LIST1)
{
    CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
    CRect rcItem(lpDrawItemStruct->rcItem);
    int nItem = lpDrawItemStruct->itemID;

    if (lpDrawItemStruct->itemAction & ODA_DRAWENTIRE)
    {
        // 绘制列表项背景色
        pDC->FillSolidRect(rcItem, RGB(255, 255, 255)); // 设置背景色为白色

        // 绘制红色分隔线
        CPen pen(PS_SOLID, 1, RGB(255, 0, 0)); // 设置红色画笔
        CPen* pOldPen = pDC->SelectObject(&pen);
        pDC->MoveTo(rcItem.left, rcItem.bottom - 1);
        pDC->LineTo(rcItem.right, rcItem.bottom - 1);
        pDC->SelectObject(pOldPen);
    }

    // 绘制列表项文本
    CString strText = m_ListCode.GetItemText(nItem, 0);
    rcItem.DeflateRect(2, 2);
    pDC->DrawText(strText, rcItem, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
}
else
{
    CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

BOOL nn::OnEraseBkgnd(CDC*pDC)
{
بازگشت TRUE;
}

void nn::DoDataExchange(CDataExchange* pDX)
{
CDdialog::DoDataExchange(pDX);
DDX_Control (pDX, IDC_LIST1, m_ListCode //ارتباط کنترل لیست با متغیر عضو).
}

//#شامل

//نگاشت پیام گفتگو

// nn کنترل کننده پیام

BOOL nn::OnInitDialog()
{
CDdialog::OnInitDialog();
/* SetWindowPos(NULL, 0, 0, 1000, 960, SWP_NOMOVE | SWP_NOZORDER)؛
//سبک کنترل لیست را تنظیم کنید

DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
dwStyle |= LVS_EX_GRIDLINES; // 列表控件行列分隔线
//设置列表控件分隔线颜色
    m_ListCode.SetBkColor(RGB(255, 255, 255)); // 设置背景色为白色
m_ListCode.SetTextBkColor(RGB(255, 255, 255)); // 设置文本背景色为白色
m_ListCode.SetTextColor(RGB(0, 0, 0)); // 设置文字颜色为黑色
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

//m_ListCode.SetGridLineColor(RGB(255, 0, 0));

m_ListCode.SetExtendedStyle(dwStyle);
//m_ListCode.SetItemIndexState()
// 添加列表控件列
m_ListCode.InsertColumn(0, _T("代码"), LVCFMT_LEFT, 600*/

// 设置列表控件风格
DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
m_ListCode.SetExtendedStyle(dwStyle);

// 添加列表控件列
m_ListCode.InsertColumn(0, _T("代码"), LVCFMT_LEFT, 600);

// 设置自定义绘制列表控件
m_ListCode.SetExtendedStyle(m_ListCode.GetExtendedStyle() | LVS_OWNERDRAWFIXED);
m_ListCode.SetCallbackMask(LVN_ODCACHEHINT | LVN_GETDISPINFO);
m_ListCode.SetItemCount(100); // 设置列表项数量,根据实际情况修改

// 设置背景色为白色
m_ListCode.SetBkColor(RGB(255, 255, 255));
// 设置文本背景色为白色
m_ListCode.SetTextBkColor(RGB(255, 255, 255));
// 设置文字颜色为黑色
m_ListCode.SetTextColor(RGB(1, 0, 0));


CRect rect;
GetDlgItem(IDC_LIST1)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.right = rect.left + 1200;  // 设置列表控件的宽度
rect.bottom = rect.top + 1800;  // 设置列表控件的高度
m_ListCode.MoveWindow(rect);
// 打开.nc文件
std::ifstream file("D:\\叶轮粗加工(简单11).NC");
if (!file)
{
    AfxMessageBox(_T("无法打开文件"));
    return FALSE;
}
AfxMessageBox(L"dddd");
std::string line;
int itemIndex = 0;
while (std::getline(file, line))
{
    // 将代码行转换为CString类型
    CString strLine(line.c_str());

    // 添加代码行到列表控件
    m_ListCode.InsertItem(itemIndex, strLine);

    itemIndex++;
   /* 
    CString s = itoa(itemIndex,sizeof(CString), 10);
    CString s1 = " ";
    s.Format(L"the is %s", s);
    OutputDebugString(s);*/
   // CString strLine(line.c_str());

    // 添加代码行到列表控件
   // m_ListCode.InsertItem(itemIndex, strLine);

    itemIndex++;

   CString s;
    s.Format(L"the is %d", itemIndex);
    OutputDebugString(s);

}

file.close(); // 关闭文件

return TRUE;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

BOOL nn::OnInitDialog()
{
CDdialog::OnInitDialog();

// 设置列表控件风格
DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
m_ListCode.SetExtendedStyle(dwStyle);

// 添加列表控件列
m_ListCode.InsertColumn(0, _T("代码"), LVCFMT_LEFT, 600);

// 设置自定义绘制列表控件
m_ListCode.SetExtendedStyle(m_ListCode.GetExtendedStyle() | LVS_OWNERDRAWFIXED);
m_ListCode.SetCallbackMask(LVN_ODCACHEHINT | LVN_GETDISPINFO);
m_ListCode.SetItemCount(100); // 设置列表项数量,根据实际情况修改

// 设置列表控件位置和大小
CRect rect;
GetDlgItem(IDC_LIST1)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.right = rect.left + 1100;  // 设置列表控件的宽度
rect.bottom = rect.top + 2111;  // 设置列表控件的高度
m_ListCode.MoveWindow(rect);

// 打开.nc文件
std::ifstream file("D:\\叶轮粗加工(简单11).NC");
if (!file)
{
    AfxMessageBox(_T("无法打开文件"));
    return FALSE;
}

std::string line;
int itemIndex = 0;
while (std::getline(file, line))
{
    // 将代码行转换为CString类型
    CString strLine(line.c_str());

    // 添加代码行到列表控件
    int index = m_ListCode.InsertItem(itemIndex, strLine);

    // 调整列宽度以适应数据的长度
    m_ListCode.SetColumnWidth(0, LVSCW_AUTOSIZE);

    itemIndex++;
}

file.close(); // 关闭文件

return TRUE;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

BOOL nn::OnInitDialog()
{
CDdialog::OnInitDialog();

// 设置列表控件风格
DWORD dwStyle = m_ListCode.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
m_ListCode.SetExtendedStyle(dwStyle);

// 添加列表控件列
m_ListCode.InsertColumn(0, _T("代码"), LVCFMT_LEFT, 600);

// 设置自定义绘制列表控件
m_ListCode.SetExtendedStyle(m_ListCode.GetExtendedStyle() | LVS_OWNERDRAWFIXED);
m_ListCode.SetCallbackMask(LVN_ODCACHEHINT | LVN_GETDISPINFO);
m_ListCode.SetItemCount(100); // 设置列表项数量,根据实际情况修改

// 设置列表控件位置和大小
CRect rect;
GetDlgItem(IDC_LIST1)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.right = rect.left + 1200;  // 设置列表控件的宽度
rect.bottom = rect.top + 1800;  // 设置列表控件的高度
m_ListCode.MoveWindow(rect);

// 打开.nc文件
std::ifstream file("D:\\叶轮粗加工(简单11).NC");
if (!file)
{
    AfxMessageBox(_T("无法打开文件"));
    return FALSE;
}

std::string line;
int itemIndex = 0;
while (std::getline(file, line))
{
    // 将代码行转换为CString类型
    CString strLine(line.c_str());

    // 添加代码行到列表控件
    int index = m_ListCode.InsertItem(itemIndex, strLine);

    // 调整列宽度以适应数据的长度
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

// m_ListCode.SetColumnWidth(0، LVSCW_AUTOSIZE);

    itemIndex++;
}

file.close(); // 关闭文件

return TRUE;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}
/*

void nn::OnDrawItem(int nIDCtl، LPDRAWITEMSTRUCT lpDrawItemStruct)
{
اگر (nIDCtl == IDC_LIST1)
{
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);

    // 设置绘制的字体
    CFont font;
    font.CreateFont(8, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
        CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, _T("Arial"));
    pDC->SelectObject(&font);

    // 计算单元格的位置和大小
    CRect rect(lpDrawItemStruct->rcItem);
    rect.DeflateRect(2, 2); // 减去边距

    // 获取单元格的文本
    CString strText;
    m_ListCode.GetItemText(lpDrawItemStruct->itemID, lpDrawItemStruct->itemData, strText);

    // 绘制单元格的背景
    pDC->FillSolidRect(rect, RGB(255, 255, 255)); // 白色背景

    // 绘制单元格的文本
    pDC->SetTextColor(RGB(0, 0, 0)); // 黑色字体
    pDC->DrawText(strText, rect, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
}
else
{
    CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}*/

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا