📄 dlgbookmarkmanage.cpp
字号:
// DlgBookMarkManage.cpp : 实现文件
//
#include "stdafx.h"
#include "dotNET界面.h"
#include "dotNET界面Doc.h"
#include "dotNET界面View.h"
#include "MainFrm.h"
#include "InPlaceEdit.h"
#include "DlgBookMarkManage.h"
#include ".\dlgbookmarkmanage.h"
// CDlgBookMarkManage 对话框
IMPLEMENT_DYNAMIC(CDlgBookMarkManage, CDialog)
CDlgBookMarkManage::CDlgBookMarkManage(CWnd* pParent /*=NULL*/)
: CDialog(CDlgBookMarkManage::IDD, pParent)
, strID(_T(""))
{
iItem=-1;
}
CDlgBookMarkManage::~CDlgBookMarkManage()
{
}
void CDlgBookMarkManage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST_SHOWBOOKMARK, m_ListBookMark);
}
BEGIN_MESSAGE_MAP(CDlgBookMarkManage, CDialog)
ON_BN_CLICKED(IDC_BUTTON_UPDATENAME, OnBnClickedButtonUpdatename)
ON_BN_CLICKED(IDC_BUTTON_DEL, OnBnClickedButtonDel)
ON_BN_CLICKED(IDC_BUTTON_SHOW, OnBnClickedButtonShow)
ON_NOTIFY(NM_CLICK, IDC_LIST_SHOWBOOKMARK, OnNMClickListShowbookmark)
ON_MESSAGE(WM_VALIDATE, OnEndLabelEditVariableCriteria)
END_MESSAGE_MAP()
// CDlgBookMarkManage 消息处理程序
void CDlgBookMarkManage::OnBnClickedButtonUpdatename()
{
// TODO: 在此添加控件通知处理程序代码
if(iItem==-1){
AfxMessageBox("你没有选择要修改的书签");
return ;
}
//CEdit* pEdit =m_ListBookMark.EditLabel(iItem);
CString strCurSelection = m_ListBookMark.GetItemText(iItem, 1);
CInPlaceEdit* pInPlaceEdit = m_ListBookMark.ShowInPlaceEdit(iItem, 1, strCurSelection);
}
void CDlgBookMarkManage::OnBnClickedButtonDel()
{
// TODO: 在此添加控件通知处理程序代码
if(iItem==-1){
AfxMessageBox("你没有选择要删除的书签");
return ;
}
_RecordsetPtr DelBookMarkSet;
DelBookMarkSet.CreateInstance(__uuidof(Recordset));
_variant_t _strSQLAttachment("DELETE FROM BookMark WHERE NodeId='"+strID+"'");//NodeId
if(!theApp.ADOExecute(DelBookMarkSet,_strSQLAttachment)) return ;
m_ListBookMark.DeleteItem(iItem);
UpdateData(false);
if(adStateOpen==DelBookMarkSet->State) DelBookMarkSet->Close();
DelBookMarkSet.Release();
CMainFrame * p=(CMainFrame*)AfxGetMainWnd();
p->ShowBookMark();
}
void CDlgBookMarkManage::OnBnClickedButtonShow()
{
// TODO: 在此添加控件通知处理程序代码
CDotNETView* p = (CDotNETView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
//CDotNETApp * App=(CDotNETApp *)AfxGetApp();
if(iItem==-1){
AfxMessageBox("你没有选择要显示内容的书签");
return ;
}
p->m_Title=strID;
p->CreateMyEdit();
theApp.pDlg->BookMarkShow(strID);
}
BOOL CDlgBookMarkManage::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
UpdateData(true);
m_ListBookMark.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EDITLABELS);
m_ListBookMark.InsertColumn(0, "书签编号", LVCFMT_LEFT, 70);
m_ListBookMark.InsertColumn(1, "书签名称", LVCFMT_LEFT, 155);
CString strFileName,strTAttachmentID;
int i=0;
_RecordsetPtr MySet;
_variant_t Holder;
MySet.CreateInstance(__uuidof(Recordset));
_variant_t _strSQL("SELECT * FROM BookMark");
theApp.ADOExecute(MySet,_strSQL);
while(!MySet->adoEOF){
Holder=MySet->GetCollect("NodeId");
strTAttachmentID = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
Holder=MySet->GetCollect("BookMark");
strFileName = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_ListBookMark.InsertItem(i,strTAttachmentID);//NodeName
m_ListBookMark.SetItemText(i,1,strFileName);
i++;
MySet->MoveNext();
}
if(adStateOpen==MySet->State) MySet->Close();
MySet.Release();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CDlgBookMarkManage::OnNMClickListShowbookmark(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
POSITION pos =m_ListBookMark.GetFirstSelectedItemPosition();
iItem =m_ListBookMark.GetNextSelectedItem(pos);
strID=m_ListBookMark.GetItemText(iItem, 0);
//strFileName=m_ListBookMark.GetItemText(iItem, 2);
*pResult = 0;
}
LRESULT CDlgBookMarkManage::OnEndLabelEditVariableCriteria(WPARAM wParam, LPARAM lParam)
{
LV_DISPINFO* pDispInfo = (LV_DISPINFO*)lParam;
// Update the item text with the new text
m_ListBookMark.SetItemText(pDispInfo->item.iItem, pDispInfo->item.iSubItem, pDispInfo->item.pszText);
m_ListBookMark.AddBookMark(pDispInfo,strID);
// TODO: Add your control notification handler code here
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -