جدول مجازی – انجمن 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);
}
}*/