亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? listctrl.cpp

?? 一個(gè)fir濾波器Designer的例子
?? CPP
字號(hào):
// ListCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "ListCtrl.h"
#include "EditCell.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define IDC_EDITCELL 1001

/////////////////////////////////////////////////////////////////////////////
// EditListCtrl

EditListCtrl::EditListCtrl (CString Text /* = "Some Text" */)
{
	m_OddEven=0;
}

EditListCtrl::~EditListCtrl()
{
}

BEGIN_MESSAGE_MAP(EditListCtrl, CListCtrl)
    //{{AFX_MSG_MAP(EditListCtrl)
    ON_WM_HSCROLL()
    ON_WM_VSCROLL()
    ON_NOTIFY_REFLECT(LVN_ENDLABELEDIT, OnEndLabelEdit)
	ON_WM_KEYDOWN()
    ON_WM_LBUTTONDOWN()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// EditListCtrl message handlers

void EditListCtrl::Resize (int cx, int cy)
{
    CRect Rect (0, 0, cx, cy);
    MoveWindow (&Rect);
    InvalidateRect (Rect);
    SetColumnWidth (2, LVSCW_AUTOSIZE_USEHEADER);
}

CEdit* EditListCtrl::EditSubItem (int Item, int Column)
{
    // The returned pointer should not be saved
    // Make sure that the item is visible
	Column=1;
    if (!EnsureVisible (Item, TRUE)) 
    {
		if(GetItemCount()<256)
		{
			InsertItemEx(Item,1);
			if (!EnsureVisible (Item, TRUE)) 
				return NULL;
		}
		else
			return NULL;
    }

    // Make sure that nCol is valid
    CHeaderCtrl* pHeader = (CHeaderCtrl*) GetDlgItem(0);
    int nColumnCount = pHeader->GetItemCount();
    if (Column >= nColumnCount || GetColumnWidth (Column) < 5)
		return NULL;

    // Get the column offset
    int Offset = 0;
    for (int iColumn = 0; iColumn < Column; iColumn++)
		Offset += GetColumnWidth (iColumn);

    CRect Rect;
    GetItemRect (Item, &Rect, LVIR_BOUNDS);

    // Now scroll if we need to expose the column
    CRect ClientRect;
    GetClientRect (&ClientRect);
    if (Offset + Rect.left < 0 || Offset + Rect.left > ClientRect.right)
    {
		CSize Size;
		if (Offset + Rect.left > 0)
			Size.cx = -(Offset - Rect.left);
		else
			Size.cx = Offset - Rect.left;
		Size.cy = 0;
		Size.cx--;
		Scroll (Size);
		Rect.left -= Size.cx;
    }

    // Get Column alignment
    LV_COLUMN lvCol;
    lvCol.mask = LVCF_FMT;
    GetColumn (Column, &lvCol);
    DWORD dwStyle;
    if ((lvCol.fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_LEFT)
		dwStyle = ES_LEFT;
    else if ((lvCol.fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_RIGHT)
		dwStyle = ES_RIGHT;
    else dwStyle = ES_CENTER;

    Rect.left += Offset+4;
    Rect.right = Rect.left + GetColumnWidth (Column) - 8;
    if (Rect.right > ClientRect.right)
		Rect.right = ClientRect.right;

    dwStyle |= WS_BORDER | WS_CHILD | WS_VISIBLE ;
    CEdit *pEdit = new EditCell (this, Item, Column, GetItemText (Item, Column));
    pEdit->Create (dwStyle, Rect, this, IDC_EDITCELL);

    return pEdit;
}

int EditListCtrl::HitTestEx (CPoint& Point, int* pColumn)
{
    int ColumnNum = 0;
    int Row = HitTest (Point, NULL);
    
    if (pColumn)
		*pColumn = 0;

    // Make sure that the ListView is in LVS_REPORT
    if ((GetWindowLong (m_hWnd, GWL_STYLE) & LVS_TYPEMASK) != LVS_REPORT)
		return Row;

    // Get the top and bottom row visible
    Row = GetTopIndex();
    int Bottom = Row + GetCountPerPage();
    if (Bottom > GetItemCount())
	    Bottom = GetItemCount();
    
    // Get the number of columns
    CHeaderCtrl* pHeader = (CHeaderCtrl*) GetDlgItem(0);
    int nColumnCount = pHeader->GetItemCount();

    // Loop through the visible rows
    for(; Row <= Bottom; Row++)
    {
		// Get bounding rect of item and check whether point falls in it.
		CRect Rect;
		GetItemRect (Row, &Rect, LVIR_BOUNDS);
		if (Rect.PtInRect (Point))
		{
			// Now find the column
			for (ColumnNum = 0; ColumnNum < nColumnCount; ColumnNum++)
			{
				int ColWidth = GetColumnWidth (ColumnNum);
				if (Point.x >= Rect.left && Point.x <= (Rect.left + ColWidth))
				{
					if (pColumn)
						*pColumn = ColumnNum;
					return Row;
				}
				Rect.left += ColWidth;
			}
		}
    }
    return -1;
}

int EditListCtrl::InsertItemEx (int Item,int Value)
{
    CString ItemVal,Temp;
	int i,m,n;
	int Result;
	ItemVal.Format("a[%d]",Item);
	if(Item<0||Item>GetItemCount())
		return 0;
	n=GetItemNum(Item);
    Result=InsertItem(Item,ItemVal);
	m=GetItemCount();
	for(i=m-1;i>Item;i--)
	{
		ItemVal.Format("a[%d]",i);
		SetItemText(i,0,ItemVal);
		if(i==Item+1)
		{
			SetItemNum(i,n);
		}
		else
		{
			m=GetItemNum(i-1);
			SetItemNum(i,m);
		}
	}
	ItemVal.Format("%d",Value);
	SetItemText (Item,1,ItemVal);
    //SetColumnWidth (2, LVSCW_AUTOSIZE_USEHEADER);
    return Result;
}

void EditListCtrl::OnHScroll (UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
    if (GetFocus() != this) 
		SetFocus();
    CListCtrl::OnHScroll (nSBCode, nPos, pScrollBar);
}

void EditListCtrl::OnVScroll (UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
    if (GetFocus() != this) 
		SetFocus();
    
    CListCtrl::OnVScroll (nSBCode, nPos, pScrollBar);
}

void EditListCtrl::OnEndLabelEdit (NMHDR* pNMHDR, LRESULT* pResult) 
{
    LV_DISPINFO *plvDispInfo = (LV_DISPINFO *)pNMHDR;
    LV_ITEM	*plvItem = &plvDispInfo->item;

    if (plvItem->pszText != NULL)
    {
		SetItemText (plvItem->iItem, plvItem->iSubItem, plvItem->pszText);
    }
	int m=GetItemCount();
	if(m_OddEven==0)
	{
		SetItemNum(m-plvItem->iItem-1,-1*GetItemNum(plvItem->iItem));
	}
	else if(m_OddEven==1)
	{
		SetItemNum(m-plvItem->iItem-1,GetItemNum(plvItem->iItem));
	}
	if((m%2)&&(plvItem->iItem==(m-1)/2)&&m_OddEven==0)
	{
		SetItemNum((m-1)/2,0);
	}
	*pResult = FALSE;
}

void EditListCtrl::OnLButtonDown (UINT nFlags, CPoint Point) 
{
    CListCtrl::OnLButtonDown (nFlags, Point);

    int Index;
    int ColNum;
    if ((Index = HitTestEx (Point, &ColNum)) != -1)
    {
		if (ColNum==1)
		{
			EditSubItem (Index,ColNum);
		}
    }
}

int EditListCtrl::GetItemNum(int Item)
{
	CString NumStr;
	int 	Number;
	char	NumChar[20];
	NumStr=GetItemText(Item,1);
    memcpy(NumChar,NumStr,20);
	NumChar[19]=0;
	int i;
	Number=0;
	int r;
	if(NumChar[0]=='-')
		r=-1;
	else
	{
		r=1;
		Number=NumChar[0]-48;
	}
	for(i=1;NumChar[i];i++)
		Number=Number*10+NumChar[i]-48;
	Number=Number*r;
	return Number;
}

void EditListCtrl::SetItemNum(int Item,int Value)
{
	CString NumStr;
	NumStr.Format("%d",Value);
	SetItemText(Item,1,NumStr);
}

BOOL EditListCtrl::DeleteSelItem()
{
	int i,j,m,n;
	CString SBuf;
	char	SChar[20];
	m=GetItemCount();
	for(i=0;i<m;i++)
	{
		if(GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
		{
			DeleteItem(i);
			for(j=i+1;j<m;j++)
			{
				if(GetItemState(j,LVIS_SELECTED)==LVIS_SELECTED)
					DeleteItem(j);
				else
					break;
			}
			n=i;
			for(j=n;j<m;j++,n++)
			{
				SBuf.Format("a[%d]",n);
				memcpy(SChar,SBuf,20);
				SChar[19]=0;
				SetItemText(n,0,SChar);
				SBuf=GetItemText(j,1);
				memcpy(SChar,SBuf,20);
				SChar[19]=0;			
				SetItemText(n,1,SChar);
			}
		}
	}
	RefreshData(0);
	return TRUE;
}

void EditListCtrl::OnKeyDown (UINT nChar, UINT nRepCnt, UINT nFlags) 
{
    // Up and down are in the OnKeyDown so that the user can hold down the arrow
    // keys to scroll through the entries.
    switch (nChar)
    {
		case VK_DELETE:
		{
			DeleteSelItem();
			return;
		}
    }
    CListCtrl::OnKeyDown (nChar, nRepCnt, nFlags);
}

void EditListCtrl::RefreshData(int Order)
{
	int i,m;
	m=GetItemCount();
	UpdateData();
	if(Order==0)
	{
		if(m_OddEven==0)
		{
			for(i=0;i<m/2;i++)
				SetItemNum(m-i-1,-1*GetItemNum(i));
			if(m%2)
			{
				SetItemNum((m-1)/2,0);
			}
		}
		else if(m_OddEven==1)
		{
			for(i=0;i<m/2;i++)
				SetItemNum(m-i-1,GetItemNum(i));
		}
	}
	else if(Order==1)
	{
		if(m_OddEven==0)
		{
			for(i=0;i<m/2;i++)
				SetItemNum(i,-1*GetItemNum(m-i-1));
			if(m%2)
			{
				SetItemNum((m-1)/2,0);
			}
		}
		else if(m_OddEven==1)
		{
			for(i=0;i<m/2;i++)
				SetItemNum(i,GetItemNum(m-i-1));
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷中文字幕一区三区| 日韩不卡一区二区三区| 欧美一区国产二区| 99re亚洲国产精品| 国产在线看一区| 亚洲h精品动漫在线观看| 日本一区二区免费在线| 91麻豆精品国产91久久久久久久久| 成人激情图片网| 精品一区二区三区影院在线午夜| 一区二区三区精品在线观看| 欧美经典一区二区三区| 91麻豆精品国产91久久久久 | 日韩国产欧美三级| 国产精品理伦片| 久久品道一品道久久精品| 欧美精品久久一区二区三区| 国产色产综合产在线视频| 欧美日韩一区二区三区视频| 成人妖精视频yjsp地址| 精品在线一区二区三区| 日韩精品91亚洲二区在线观看| 亚洲欧美日韩精品久久久久| 国产亚洲成aⅴ人片在线观看 | 久久精品噜噜噜成人av农村| 一区二区三区四区不卡视频| 国产清纯白嫩初高生在线观看91 | 国产aⅴ综合色| 国产在线精品一区二区| 无吗不卡中文字幕| 亚洲风情在线资源站| 亚洲蜜臀av乱码久久精品| 中文字幕一区二区在线观看| 欧美激情在线一区二区三区| 久久久久9999亚洲精品| 欧美大片在线观看一区二区| 日韩精品专区在线影院重磅| 91精品国产欧美一区二区| 欧美伦理电影网| 欧美日韩精品电影| 欧美理论电影在线| 51精品视频一区二区三区| 欧美欧美午夜aⅴ在线观看| 欧美午夜在线一二页| 欧美日韩国产另类一区| 8x8x8国产精品| 91精品免费观看| 日韩欧美国产系列| 久久久久久久久久久电影| 国产欧美日韩亚州综合 | 欧美日韩精品系列| 制服丝袜成人动漫| 欧美大胆一级视频| 国产清纯白嫩初高生在线观看91 | 九九热在线视频观看这里只有精品| 免费成人在线观看| 国产一区二区三区国产| www.在线欧美| 国产精品久久久久一区| 亚洲另类在线制服丝袜| 亚洲一区二区三区精品在线| 三级亚洲高清视频| 国产一区二区精品在线观看| 99久久久无码国产精品| 欧美吞精做爰啪啪高潮| 日韩女优av电影在线观看| 国产日本一区二区| 一区二区三区在线观看视频| 日韩高清在线一区| 成人黄色777网| 欧美日韩视频第一区| 久久久精品中文字幕麻豆发布| 综合色天天鬼久久鬼色| 日本三级亚洲精品| 成人免费观看男女羞羞视频| 欧美在线高清视频| 久久综合九色综合欧美亚洲| 亚洲美腿欧美偷拍| 国内精品写真在线观看| 91丨porny丨国产入口| 欧美一级精品在线| 亚洲色图制服丝袜| 久久99精品久久久久| 色综合欧美在线| 久久综合九色欧美综合狠狠| 亚洲欧美一区二区不卡| 久久精品久久久精品美女| av一区二区久久| 日韩美女视频在线| 亚洲宅男天堂在线观看无病毒| 国产一区二区调教| 在线成人免费视频| 成人免费视频在线观看| 激情伊人五月天久久综合| 欧美在线观看视频一区二区三区| 久久久精品中文字幕麻豆发布| 亚洲线精品一区二区三区| 国产精品69毛片高清亚洲| 欧美另类一区二区三区| 综合av第一页| 国产成人一级电影| 日韩色在线观看| 亚洲一区视频在线| 97精品超碰一区二区三区| 日韩一卡二卡三卡四卡| 亚洲一区二区美女| 91麻豆免费视频| 国产精品免费视频观看| 国产一区视频在线看| 亚洲啪啪综合av一区二区三区| 国产经典欧美精品| 久久亚洲精华国产精华液| 日本不卡一区二区三区高清视频| 色狠狠色狠狠综合| 综合久久给合久久狠狠狠97色| 国产黄色成人av| 久久先锋资源网| 久久99精品久久久久久动态图 | 2020国产精品自拍| 奇米精品一区二区三区在线观看一| 99久久久久免费精品国产| 国产午夜亚洲精品羞羞网站| 久久91精品国产91久久小草| 日韩一区二区三区免费观看| 午夜电影网亚洲视频| 欧美午夜精品久久久久久孕妇| 国产精品久久久久7777按摩 | 91蝌蚪porny| 中文字幕中文字幕一区二区| 福利一区福利二区| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品亚洲专一区二区三区 | 91同城在线观看| 国产精品久久久久影院色老大 | 日韩一区二区影院| 日本欧洲一区二区| 欧美tk丨vk视频| 国产一区二区看久久| 国产亚洲欧美在线| 国产精品系列在线播放| 国产三级欧美三级| 成人app下载| 一区二区三区精品在线| 欧美性欧美巨大黑白大战| 五月天精品一区二区三区| 欧美一区二区在线免费播放| 精品影视av免费| 国产日韩综合av| www.av精品| 亚洲成人激情社区| 欧美一区二区三区人| 国产一本一道久久香蕉| 国产精品三级视频| 欧美影院一区二区三区| 日韩 欧美一区二区三区| 久久午夜羞羞影院免费观看| 成人国产精品免费观看动漫| 亚洲制服丝袜在线| 欧美成人高清电影在线| 久久人人超碰精品| 成人免费毛片a| 国产三级欧美三级日产三级99| 精品国免费一区二区三区| 精品一区二区三区影院在线午夜 | 成人午夜在线播放| 亚洲特级片在线| 欧美电影一区二区三区| 国产成人精品1024| 一区二区三区免费观看| 日韩欧美亚洲国产另类| 成人免费精品视频| 午夜精品一区二区三区免费视频| 日韩欧美国产三级| 91丝袜美女网| 美女精品一区二区| 亚洲视频一区二区免费在线观看| 欧美理论片在线| 国产91精品在线观看| 午夜精品爽啪视频| 国产精品美女久久久久久2018| 欧美三区免费完整视频在线观看| 激情综合亚洲精品| 亚洲精品成人在线| 久久色在线观看| 欧美日韩国产小视频在线观看| 国产精品一线二线三线| 午夜精品久久久久久不卡8050| 日本一区二区在线不卡| 91精品国产入口在线| 91丝袜呻吟高潮美腿白嫩在线观看| 男男成人高潮片免费网站| 亚洲精品伦理在线| 久久综合九色综合欧美98| 欧美日韩一区二区三区四区| 高清成人免费视频| 九色|91porny| 丝袜美腿高跟呻吟高潮一区| 亚洲欧美日韩成人高清在线一区| 精品国产乱码91久久久久久网站| 91久久奴性调教|