// LeftFormVew.cpp : LeftFormVew クラスの実装
//
include “stdafx.h”
include “ControlPractice.h”
include “ControlPracticeDoc.h”
include “LeftFormVew.h”
ifdef _DEBUG
define new DEBUG_NEW
endif
// LeftFormVew
IMPLEMENT_DYNCREATE(LeftFormVew, CFormView)
BEGIN_MESSAGE_MAP(LeftFormVew, CFormView)
ON_WM_SIZE()
ON_WM_DRAWITEM()
ON_WM_MEASUREITEM()
ON_BN_CLICKED(IDOK, &LeftFormVew::OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, &LeftFormVew::OnBnClickedCancel)
END_MESSAGE_MAP()
// LeftFormVew コンストラクション/デストラクション
LeftFormVew::LeftFormVew()
: CFormView(LeftFormVew::IDD)
{
// TODO: 構築コードをここに追加します。
}
LeftFormVew::~LeftFormVew()
{
}
void LeftFormVew::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, CtlistControl1);
DDX_Control(pDX, IDOK, cfITOK);
DDX_Control(pDX, IDCANCEL, cfITCANCEL);
}
BOOL LeftFormVew::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
// 修正してください。
return CFormView::PreCreateWindow(cs);
}
//============================================================
//============================================================
//============================================================
void LeftFormVew::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
//============================================================
//============================================================
//============================================================
LV_COLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
//============================================================
for (int i=0;i<3;i++){
lvc.iSubItem= i;
lvc.pszText=LeftFormColumnLabel[i];
lvc.cx =(int)(LeftFormWidth[i]);
lvc.fmt =LeftFormFmt[i];
CtlistControl1.InsertColumn(i,&lvc);
}
//============================================================
//============================================================
//============================================================
LV_ITEM lvi;
lvi.mask = LVIF_TEXT | LVIF_IMAGE |LVIF_PARAM ;
lvi.iSubItem =0;
for(int i=0;i<5;i++){
lvi.iItem =i;
lvi.pszText =LeftFormVew_buffDim[i][0];
CtlistControl1.InsertItem(&lvi);
}
// CtlistControl1.ShowWindow(SW_SHOW) ;
}
// LeftFormVew 診断
ifdef _DEBUG
void LeftFormVew::AssertValid() const
{
CFormView::AssertValid();
}
void LeftFormVew::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CControlPracticeDoc* LeftFormVew::GetDocument() const // デバッグ以外のバージョンはインラインです。
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CControlPracticeDoc)));
return (CControlPracticeDoc*)m_pDocument;
}
endif //_DEBUG
// LeftFormVew メッセージ ハンドラ
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
BOOL LeftFormVew::PreTranslateMessage(MSG* pMsg)
{
CControlPracticeDoc* pDoc = GetDocument();
//=========================================================
CString sval=_T("");
//=========================================================
if(pMsg->message==WM_KEYDOWN){
//===============================
switch(pMsg->wParam){
case VK_RETURN :break;
case VK_CONTROL :break;
case VK_ESCAPE :break;
case VK_F1 :break;
case VK_F2 :break;
case VK_F3 :break;
case VK_F4 :break;
case VK_F5 :break;
case VK_F6 :break;
case VK_F7 :break;
case VK_F8 :break;
case VK_F9 :break;
case VK_F10 :break;
case VK_UP :break;
case VK_LEFT :break;
case VK_DOWN :break;
case VK_RIGHT :break;
case VK_DELETE :break;
case VK_INSERT :break;
}
}
return CFormView::PreTranslateMessage(pMsg);
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// MeikingDish メッセージ ハンドラ
void LeftFormVew::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
CControlPracticeDoc* pDoc = GetDocument();
int code=0;
//========================================================
switch(lHint){
case ID_FORM_LEFT_UPDATE_ID_OK_DIS:
code=0;
break;
case ID_FORM_LEFT_UPDATE_ID_CANCEL_DIS:
code=0;
break; //==================ビューが切り替わりが強要されました====================
case 0:
code=0;
break;
}
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
void LeftFormVew::CStringDataMoveToStaticEriyaReset()
{
CString vs=_T(” “);
try{
for(int item=0;item<100;item++){
for(int isub=0;isub<8;isub++){
_tcsncpy_s(LeftFormVew_buffDim[item][isub],MAX_PATH,(LPCTSTR)vs,_TRUNCATE);
}
}
}catch(CMemoryException e){
e.ReportError();
e.Delete() ;
}
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
void LeftFormVew::CStringDataMoveToStaticEriya(CString vs,int item,int isub)
{
try{
_tcsncpy_s(LeftFormVew_buffDim[item][isub],MAX_PATH,(LPCTSTR)vs,_TRUNCATE);
}catch(CMemoryException e){
e.ReportError();
e.Delete() ;
}
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
void LeftFormVew::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CControlPracticeDoc* pDoc = GetDocument();
//========================================================
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect rcItem(lpDrawItemStruct->rcItem);
int nItem = lpDrawItemStruct->itemID ;
//=============================================
LV_ITEM lvi;
switch(lpDrawItemStruct->CtlID) {
case IDC_LIST1:
lvi.mask = LVIF_TEXT | LVIF_IMAGE |LVIF_PARAM ;
lvi.iSubItem =0;
//=========================================
lvi.iItem =nItem;
lvi.pszText =LeftFormVew_buffDim[nItem][0];
CtlistControl1.SetItem(&lvi);
for(int sub=0;sub<7;sub++){
CString sb=CtlistControl1.GetItemText(nItem,sub);
if(sb!=(CString)LeftFormVew_buffDim[nItem][sub]){
CtlistControl1.SetItemText(nItem,sub,LeftFormVew_buffDim[nItem][sub]);
}
}
//=========================================
List1RowListControl(pDC,nItem);
break;
}
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
void LeftFormVew::List1RowListControl(CDC* pDC,int nItem)
{
CControlPracticeDoc* pDoc = GetDocument();
//=========================================================
COLORREF clrTextSave =pDC->SetTextColor(::GetSysColor(COLOR_HIGHLIGHTTEXT));
COLORREF clrBkSave = pDC->SetBkColor(::GetSysColor(COLOR_HIGHLIGHT));
//==================ブラシの初期化=========================
CBrush cbrA,cbrB;
//RGB(255,241,0) RGB(243,152,0) RGB(233,83,131)
//RGB(143,195,31) RGB(0,153,217) RGB(237,109,70)
cbrA.CreateSolidBrush(RGB(233, 83,131));
cbrB.CreateSolidBrush(RGB(255,255,255));
//=========================================================
CPen pen;
CPen* pOldPen;
pen.CreatePen(PS_SOLID,1,LINE_COLOR);
pOldPen=pDC->SelectObject(&pen);
//=========================================================
CRect rcAllLabels;
CtlistControl1.GetItemRect(nItem, rcAllLabels, LVIR_BOUNDS);
//=========================================================
CRect lRect,rc;
pDC->SetTextColor(RGB(0,0,0));
//=========================================================
int topIndex=CtlistControl1.GetTopIndex(); //表示の先頭nItem
int nLast = topIndex+CtlistControl1.GetCountPerPage();//表示の後端nItem
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
void LeftFormVew::OnBnClickedOk()
{
CControlPracticeDoc* pDoc = GetDocument();
pDoc->FormVewNmcer|=0x11 ;
CWnd* pWnd=AfxGetMainWnd() ;
pWnd->SendMessage(ID_VEW_CHENGER);
}
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
void LeftFormVew::OnBnClickedCancel()
{
CControlPracticeDoc* pDoc = GetDocument();
pDoc->FormVewNmcer|=0x12 ;
CWnd* pWnd=AfxGetMainWnd() ;
pWnd->SendMessage(ID_VEW_CHENGER);
}