您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CallWindowProc函数代码示例

51自学网 2021-06-01 20:09:06
  C++
这篇教程C++ CallWindowProc函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CallWindowProc函数的典型用法代码示例。如果您正苦于以下问题:C++ CallWindowProc函数的具体用法?C++ CallWindowProc怎么用?C++ CallWindowProc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CallWindowProc函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: device_list_wndproc

INT_PTR CALLBACK device_list_wndproc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){	TCHAR tipText[80];	POINT pt;	static int oldX, oldY;	int newX, newY;	LVHITTESTINFO hitTestInfo;	LVITEM lvitem;	device_context_t* dev_context;	BOOL ignored;	switch(message)	{	case WM_MOUSELEAVE:		// The mouse pointer has left our window.		// Deactivate the tooltip.		SendMessage(g_hwndTrackingTT, TTM_TRACKACTIVATE, (WPARAM)FALSE, (LPARAM)&g_toolItem);		g_TrackingMouse = FALSE;		return FALSE;	case WM_MOUSEMOVE:		if (!g_TrackingMouse)		{			// The mouse has just entered the window.			// Request notification when the mouse leaves.			TRACKMOUSEEVENT tme = { sizeof(TRACKMOUSEEVENT) };			tme.hwndTrack = hDlg;			tme.dwFlags = TME_LEAVE;			TrackMouseEvent(&tme);			// Activate the tooltip.			SendMessage(g_hwndTrackingTT, TTM_TRACKACTIVATE,				(WPARAM)TRUE, (LPARAM)&g_toolItem);			g_TrackingMouse = TRUE;		}		newX = LOWORD(lParam);		newY = HIWORD(lParam);		// Make sure the mouse has actually moved. The presence of the tooltip		// causes Windows to send the message continuously.		if ((newX != oldX) || (newY != oldY))		{			oldX = newX;			oldY = newY;			memset(&hitTestInfo,0,sizeof(hitTestInfo));			hitTestInfo.pt.x = newX;			hitTestInfo.pt.y = newY;			if ((ListView_HitTest(hDlg, &hitTestInfo) == -1) || newX > ListView_GetColumnWidth(hDlg, 0))			{				safe_sprintf(tipText, sizeof(tipText) - 1, TEXT("%s"), TEXT(""));				SendMessage(g_hwndTrackingTT, TTM_TRACKACTIVATE,FALSE, (LPARAM)&g_toolItem);			}			else			{				SendMessage(g_hwndTrackingTT, TTM_SETDELAYTIME,TTDT_INITIAL, 1000);				memset(&lvitem, 0 , sizeof(lvitem));				lvitem.iItem = hitTestInfo.iItem;				lvitem.mask =  LVIF_PARAM;				ignored = ListView_GetItem(hDlg,&lvitem);				dev_context = (device_context_t*)lvitem.lParam;				// Update the text.				safe_sprintf(tipText, sizeof(tipText)-1 , TEXT("%s"), wdi_get_vendor_name(dev_context->wdi->vid));				SendMessage(g_hwndTrackingTT, TTM_TRACKACTIVATE,TRUE, (LPARAM)&g_toolItem);			}			g_toolItem.lpszText = tipText;			SendMessage(g_hwndTrackingTT, TTM_SETTOOLINFO, 0, (LPARAM)&g_toolItem);			// Position the tooltip.			// The coordinates are adjusted so that the tooltip does not			// overlap the mouse pointer.			pt.x = newX;			pt.y = newY;			ClientToScreen(hDlg, &pt);			SendMessage(g_hwndTrackingTT, TTM_TRACKPOSITION,				0, (LPARAM)MAKELONG(pt.x + 10, pt.y - 20));		}		break;	}	return CallWindowProc(device_list_wndproc_orig, hDlg, message, wParam, lParam);}
开发者ID:markzh2015,项目名称:aboutusb,代码行数:90,


示例2: ConnListBoxProc

LRESULT CALLBACK ConnListBoxProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){	switch(message)	{		case WM_LBUTTONDOWN:		{			int index = SendMessage(hwnd, LB_ITEMFROMPOINT, 0, lParam);			if(index >= 0x10000)			{				SendMessage(hwnd, LB_SETCURSEL, (DWORD)-1, 0L);			}		}			break;		case WM_RBUTTONDOWN:		{			POINT pos;			MENUITEMINFO info;			HMENU hMenu;			DWORD dwID;			int index = SendMessage(hwnd, LB_ITEMFROMPOINT, 0, lParam);			if(index < 0x10000)			{				SendMessage(hwnd, LB_SETCURSEL, (DWORD)index, 1L);			}			else			{				SendMessage(hwnd, LB_SETCURSEL, (DWORD)-1, 0L);				break;			}						hMenu = CreatePopupMenu();			memset(&info, 0, sizeof(MENUITEMINFO));			info.cbSize = sizeof(MENUITEMINFO);			info.fMask = MIIM_ID | MIIM_TYPE;			info.fType = MFT_STRING;			info.wID = 1001;			info.dwTypeData = "切断(&X)";			InsertMenuItem(hMenu, -1, true, &info);			GetCursorPos(&pos);			dwID = TrackPopupMenu(hMenu, TPM_LEFTALIGN | TPM_RETURNCMD, pos.x, pos.y, 0, hwnd, NULL);			DestroyMenu(hMenu);			switch(dwID)			{			case 1001:				SendMessage(guiWnd, WM_COMMAND, IDC_BUTTON6, NULL);				break;			}		}			break;	}	return CallWindowProc(wndOldConnListBox, hwnd, message, wParam, lParam);}
开发者ID:PyYoshi,项目名称:PeerCastIM-Mod,代码行数:61,


示例3: SpringWndProc

	static LRESULT CALLBACK SpringWndProc(HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam)	{		if (mouse) {			switch (msg) {				case WM_XBUTTONDOWN:				{					if ((short)LOWORD(wParam) & MK_XBUTTON1)						mouse->MousePress((short)LOWORD(lParam), (short)HIWORD(lParam), 4);					if ((short)LOWORD(wParam) & MK_XBUTTON2)						mouse->MousePress((short)LOWORD(lParam), (short)HIWORD(lParam), 5);				} return 0;				case WM_XBUTTONUP:				{					if ((short)LOWORD(wParam) & MK_XBUTTON1)						mouse->MouseRelease((short)LOWORD(lParam), (short)HIWORD(lParam), 4);					if ((short)LOWORD(wParam) & MK_XBUTTON2)						mouse->MouseRelease((short)LOWORD(lParam), (short)HIWORD(lParam), 5);				} return 0;			}		}		switch (msg) {			case WM_MOUSEMOVE:				return wsdl::OnMouseMotion(wnd, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)wParam);			case WM_MOUSEWHEEL:				return wsdl::OnMouseWheel(wnd, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (int)(short)HIWORD(wParam), (UINT)(short)LOWORD(wParam));			//! can't use message crackers: they do not provide for passing uMsg			case WM_LBUTTONDOWN:			case WM_LBUTTONUP:			case WM_RBUTTONDOWN:			case WM_RBUTTONUP:			case WM_MBUTTONDOWN:			case WM_MBUTTONUP:				return wsdl::OnMouseButton(wnd, msg, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)wParam);			case WM_SETCURSOR:			{				if (inst->hCursor!=NULL) {					Uint16 hittest = LOWORD(lParam);					if ( hittest == HTCLIENT ) {						SetCursor(inst->hCursor);						return TRUE;					}				}			} break;			case WM_ACTIVATE:			{				wsdl::ResetMouseButtons();				// wsdl::OnActivate(wnd, LOWORD(wParam), NULL, HIWORD(lParam));				// FIXME: move to SpringApp somehow and use GLContext.h instead!				if (globalRendering->fullScreen) {					if (LOWORD(wParam) == WA_INACTIVE) {						FBO::GLContextLost();					} else if (LOWORD(wParam) == WA_ACTIVE) {						FBO::GLContextReinit();					}				}			} break;		}		return CallWindowProc((WNDPROC)inst->sdl_wndproc, wnd, msg, wParam, lParam);	}
开发者ID:Arkazon,项目名称:spring,代码行数:64,


示例4: WndProc

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {  HWND hwndParent = hWndParent;  HWND hwndImage = hWndImage;  if (hwnd == hwndParent) {    if (message == WM_SIZE) {      ShowWindow(hwndImage, wParam == SIZE_MINIMIZED ? SW_HIDE : SW_SHOW);    }    if (message == WM_WINDOWPOSCHANGED) {      SetWindowPos(hwndImage, hwndParent, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);    }    return CallWindowProc(      (long (__stdcall *)(HWND,unsigned int,unsigned int,long))oldProc,      hwnd,      message,      wParam,      lParam    );  }  switch (message) {    case WM_PAINT:    if (bgBitmap.bReady) {      ECS();      PAINTSTRUCT ps;      HDC hdc = BeginPaint(hwnd, &ps);      if (bgBitmap.iType == MIL_BITMAP) {        HDC cdc = CreateCompatibleDC(hdc);        SelectObject(cdc, bgBitmap.hBitmap);        for (unsigned int x = 0; x < uWndWidth; x += bgBitmap.rPos.right) {          for (unsigned int y = 0; y < uWndHeight; y += bgBitmap.rPos.bottom) {            BitBlt(hdc, x, y, bgBitmap.rPos.right, bgBitmap.rPos.bottom, cdc, 0, 0, SRCCOPY);          }        }        DeleteDC(cdc);      }      else {        int r = GetRValue(bgBitmap.cGradientFrom) << 10;        int g = GetGValue(bgBitmap.cGradientFrom) << 10;        int b = GetBValue(bgBitmap.cGradientFrom) << 10;        int dr = ((GetRValue(bgBitmap.cGradientTo) << 10) - r) / (int)uWndHeight * 4;        int dg = ((GetGValue(bgBitmap.cGradientTo) << 10) - g) / (int)uWndHeight * 4;        int db = ((GetBValue(bgBitmap.cGradientTo) << 10) - b) / (int)uWndHeight * 4;        RECT rect;        rect.left = 0;        rect.top = 0;        rect.right = uWndWidth;        rect.bottom = 4;        while (rect.top < (int)uWndHeight)        {          HBRUSH brush = CreateSolidBrush(RGB(r>>10,g>>10,b>>10));          FillRect(hdc, &rect, brush);          DeleteObject(brush);          rect.top+=4;          rect.bottom+=4;          r+=dr;          g+=dg;          b+=db;        }      }      myImageList *img = bgBitmap.next;      while (img) {        if (img->iType == MIL_TEXT) {          SetBkMode(hdc, TRANSPARENT);          SetTextColor(hdc, img->cTextColor);          SelectObject(hdc, img->hFont);          DrawText(hdc, img->szText, -1, &img->rPos, DT_TOP | DT_LEFT | DT_NOPREFIX | DT_WORDBREAK);        }        else if (img->iType == MIL_BITMAP) {          HDC cdc = CreateCompatibleDC(hdc);          SelectObject(cdc, img->hBitmap);          BitBlt(hdc, img->rPos.left, img->rPos.top, img->rPos.right - img->rPos.left, img->rPos.bottom - img->rPos.top, cdc, 0, 0, SRCCOPY);          DeleteDC(cdc);        }        else {          COLORREF   cColor;          HBITMAP    bmAndBack, bmAndObject, bmAndMem, bmSave;          HBITMAP    bmBackOld, bmObjectOld, bmMemOld, bmSaveOld;          HDC        hdcMem, hdcBack, hdcObject, hdcTemp, hdcSave;          POINT      ptSize;          HBITMAP hBitmap = img->hBitmap;          hdcTemp = CreateCompatibleDC(hdc);          SelectObject(hdcTemp, hBitmap);   // Select the bitmap          ptSize.x = img->rPos.right - img->rPos.left;          ptSize.y = img->rPos.bottom - img->rPos.top;          DPtoLP(hdcTemp, &ptSize, 1);  // Convert from device to logical points          // Create some DCs to hold temporary data.          hdcBack   = CreateCompatibleDC(hdc);          hdcObject = CreateCompatibleDC(hdc);          hdcMem    = CreateCompatibleDC(hdc);          hdcSave   = CreateCompatibleDC(hdc);          // Create a bitmap for each DC. DCs are required for a number of//.........这里部分代码省略.........
开发者ID:kichik,项目名称:nsis-1,代码行数:101,


示例5: NewButtonWndProc

//// Subclass procedure for the OVEN pushbutton window instance.// The purpose of having this subclass is to do all "OVEN" related// messages separately here.  In particular, it processes these messages://   - WM_MOUSEMOVE//   - WM_CHAR//   - WM_TIMER//LRESULT APIENTRY NewButtonWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {     RECT rect;	POINT pt;	//HWND parent;	switch (uMsg) {		// The WM_MOUSEMOVE message is posted whenever the mouse is moved.		// If no window is captured, this message is posted to the window where cursor is;		// Otherwise, it is posted to the capture window.		// 		// The default wndproc must NOT check for MouseMovement. 		// First entry into this code will be when cursor is over button. 		//  		// Use PtInRect() to check if the cursor is placed over the button window area.		// If so, turn OVEN on. 		// Use PtInRect() to check if the cursor is placed outside the button window area.		// If so, turn OVEN off.		// 		// When the mouse is over OVEN button, capture window with SetCapture(), 		// so subsequent mousemove to outside of OVEN button will still be processed here. 		// 	case WM_MOUSEMOVE: 		GetClientRect(hwnd, &rect);     // get rect of button window		pt.x = LOWORD(lParam);          // is this client co-ordinate the button, or parent window?		pt.y = HIWORD(lParam);				// fill start here		if(PtInRect(&rect, pt)) {			SetToasted(hwnd, 1);			SetCapture(hwnd);		}else		{			SetToasted(hwnd, 0);			ReleaseCapture();		}		// fill end here		return 0;		// The WM_CHAR message is generated by the OS when a keyboard key is pressed, 		// and the system calls TranslateMessage().  By default this message is 		// sent to the window where keyboard was pressed,  or the to keyboard		// focus window (which we have set to be the OVEN button using SetFocus()).		// That's why we are processing this message here, in the OVEN button subclass proc.	case WM_CHAR:		// fill start here		switch(wParam) {		case 'b':			SetToasted(hwnd, 1);			SetTimer(hwnd, 1, 5000, NULL);			Sleep(5000);		}			 		// fill end here		return 0;	case WM_TIMER:        // this message is generated when timer timesout.		SetToasted(hwnd, 0);   // set OVEN OFF		return 0;	}	// return to original wndproc and process all other messages there. 	return CallWindowProc((WNDPROC)GetClassLong(GetParent(hwnd),0), hwnd, uMsg, wParam, lParam); } 
开发者ID:chapmanc,项目名称:term3,代码行数:76,


示例6: switch

LRESULT CALLBACK CCoolMenu::MenuProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){	WNDPROC pWndProc = (WNDPROC)::GetProp( hWnd, wpnOldProc );		switch ( uMsg )	{	case WM_NCCALCSIZE:		{			NCCALCSIZE_PARAMS* pCalc = (NCCALCSIZE_PARAMS*)lParam;			pCalc->rgrc[0].left ++;			pCalc->rgrc[0].top ++;			pCalc->rgrc[0].right --;			pCalc->rgrc[0].bottom --;		}		return 0;			case WM_WINDOWPOSCHANGING:		if ( WINDOWPOS* pWndPos = (WINDOWPOS*)lParam )		{			DWORD nStyle	= GetWindowLong( hWnd, GWL_STYLE );			DWORD nExStyle	= GetWindowLong( hWnd, GWL_EXSTYLE );			CRect rc( 0, 0, 32, 32 );						AdjustWindowRectEx( &rc, nStyle, FALSE, nExStyle );						pWndPos->cx -= ( rc.Width() - 34 );			pWndPos->cy -= ( rc.Height() - 34 ) - 1;						if ( pWndPos->x != m_nEdgeLeft || pWndPos->y != m_nEdgeTop )				pWndPos->x ++;		}		break;			case WM_PRINT:		if ( ( lParam & PRF_CHECKVISIBLE ) && ! IsWindowVisible( hWnd ) ) return 0;		if ( lParam & PRF_NONCLIENT )		{			CWnd* pWnd = CWnd::FromHandle( hWnd );			CDC* pDC = CDC::FromHandle( (HDC)wParam );			CRect rc;						pWnd->GetWindowRect( &rc );			BOOL bEdge = ( rc.left == m_nEdgeLeft && rc.top == m_nEdgeTop );			rc.OffsetRect( -rc.left, -rc.top );						pDC->Draw3dRect( &rc, CoolInterface.m_crDisabled, CoolInterface.m_crDisabled );			if ( bEdge ) pDC->FillSolidRect( rc.left + 1, rc.top, min( rc.Width(), m_nEdgeSize ) - 2, 1, CoolInterface.m_crBackNormal );		}		if ( lParam & PRF_CLIENT )		{			CWnd* pWnd = CWnd::FromHandle( hWnd );			CDC* pDC = CDC::FromHandle( (HDC)wParam );			CBitmap bmBuf, *pbmOld;			CDC dcBuf;			CRect rc;						pWnd->GetClientRect( &rc );			dcBuf.CreateCompatibleDC( pDC );			bmBuf.CreateCompatibleBitmap( pDC, rc.Width(), rc.Height() );			pbmOld = (CBitmap*)dcBuf.SelectObject( &bmBuf );						m_bPrinted = TRUE;			dcBuf.FillSolidRect( &rc, GetSysColor( COLOR_MENU ) );			SendMessage( hWnd, WM_PRINTCLIENT, (WPARAM)dcBuf.GetSafeHdc(), 0 );						pDC->BitBlt( 1, 1, rc.Width(), rc.Height(), &dcBuf, 0, 0, SRCCOPY );			dcBuf.SelectObject( pbmOld );		}		return 0;			case WM_NCPAINT:		{			CWnd* pWnd = CWnd::FromHandle( hWnd );			CWindowDC dc( pWnd );			CRect rc;						pWnd->GetWindowRect( &rc );			BOOL bEdge = ( rc.left == m_nEdgeLeft && rc.top == m_nEdgeTop );			rc.OffsetRect( -rc.left, -rc.top );						dc.Draw3dRect( &rc, CoolInterface.m_crDisabled, CoolInterface.m_crDisabled );			if ( bEdge ) dc.FillSolidRect( rc.left + 1, rc.top, min( rc.Width(), m_nEdgeSize ) - 2, 1, CoolInterface.m_crBackNormal );		}		return 0;			case WM_PAINT:		m_bPrinted = FALSE;		break;			case WM_NCDESTROY:		::RemoveProp( hWnd, wpnOldProc );		break;	}		return CallWindowProc( pWndProc, hWnd, uMsg, wParam, lParam );}
开发者ID:pics860,项目名称:callcenter,代码行数:96,


示例7: StandButtonProc

//.........这里部分代码省略.........		RedrawWindow(gameEngine->getHWnd(), NULL, NULL,			RDW_INVALIDATE | RDW_UPDATENOW);		Sleep(500);		//		// See if we need additional cards.		//		while (true) {			std::vector<int>* vals = dealerHand->GetValues();			bool done = false;			for (int i = 0; i < vals->size(); i++) {				// Dealer must stop taking cards				// if he has a value of 17 or higher.				if (vals->at(i) >= 17) {					done = true;					break;				}			}			if (done) {				break;			}			PlaySound(L"sound-flipcard.wav", NULL, SND_FILENAME | SND_ASYNC);			dealerHand->dealCard(false);			RedrawWindow(gameEngine->getHWnd(), NULL, NULL,				RDW_INVALIDATE | RDW_UPDATENOW);						Sleep(500);		}		//		// Determine winner. Update balance amounts.		//		// table->setState(TABLE_STATE_READY);		std::vector<int>* dealerValues = dealerHand->GetValues();		std::vector<int>* playerValues = playerHand->GetValues();		int dealerFinal = 0;		int playerFinal = 0;		for (int i = 0; i < dealerValues->size(); i++) {			if (dealerValues->at(i) > dealerFinal &&				dealerValues->at(i) < 22) {				dealerFinal = dealerValues->at(i);			}		}		for (int i = 0; i < playerValues->size(); i++) {			if (playerValues->at(i) > playerFinal &&				playerValues->at(i) < 22) {				playerFinal = playerValues->at(i);			}		}		table->setState(TABLE_STATE_FINISHED);		// If values are same, this is a push. 		if (dealerFinal == playerFinal) {			updateTextarea(hStaticTableMiddleMessage, "Push");			// Return player's bet money.			int bet = playerHand->getBetAmount();			user->setBalance(user->getBalance() + bet);		} else if (dealerFinal < playerFinal) {			// Player wins, return bet and winning.			updateTextarea(hStaticTableMiddleMessage, "Player Wins!");			int bet = playerHand->getBetAmount();			user->setBalance(user->getBalance() + (bet*2) );		}		else if (dealerFinal > playerFinal) {			// No need to update cash. Has already been deducted			// at time of bet. Update the middle message area.			updateTextarea(hStaticTableMiddleMessage, "Dealer Wins.");		}		RedrawWindow(gameEngine->getHWnd(), NULL, NULL,			RDW_INVALIDATE | RDW_UPDATENOW);	}	return CallWindowProc(oldStandButtonProc, hwnd, msg, wp, lp);}
开发者ID:jsimpson9,项目名称:win32proto,代码行数:101,


示例8: PhListTick

static VOID PhListTick(    __in PPH_EXTLV_CONTEXT Context    ){    HWND hwnd = Context->Handle;    ULONG tickCount;    BOOLEAN redrawDisabled = FALSE;    PPH_LIST itemsToRemove = NULL;    PH_HASHTABLE_ENUM_CONTEXT enumContext;    PPH_TICK_ENTRY entry;    if (!Context->TickHashtable)        return;    tickCount = GetTickCount();    // First pass    PhBeginEnumHashtable(Context->TickHashtable, &enumContext);    while (entry = PhNextEnumHashtable(&enumContext))    {        LVITEM item;        PH_ITEM_STATE itemState;        if (PhRoundNumber(tickCount - entry->TickCount, PH_DURATION_MULT) < Context->HighlightingDuration)            continue;        item.mask = LVIF_STATE;        item.iItem = ListView_MapIDToIndex(hwnd, entry->Id);        item.iSubItem = 0;        item.stateMask = LVIS_STATEIMAGEMASK;        CallWindowProc(Context->OldWndProc, hwnd, LVM_GETITEM, 0, (LPARAM)&item);        itemState = PH_GET_ITEM_STATE(item.state);        if (itemState == NewItemState)        {            item.state = INDEXTOSTATEIMAGEMASK(NormalItemState);            CallWindowProc(Context->OldWndProc, hwnd, LVM_SETITEM, 0, (LPARAM)&item);            if (!itemsToRemove)                itemsToRemove = PhCreateList(2);            PhAddItemList(itemsToRemove, (PVOID)entry->Id);            entry->TickCount = tickCount;        }    }    // Second pass    // This pass is specifically for deleting items.    PhBeginEnumHashtable(Context->TickHashtable, &enumContext);    while (entry = PhNextEnumHashtable(&enumContext))    {        LVITEM item;        PH_ITEM_STATE itemState;        if (itemsToRemove)        {            if (PhFindItemList(itemsToRemove, (PVOID)entry->Id) != -1)                continue;        }        if (PhRoundNumber(tickCount - entry->TickCount, PH_DURATION_MULT) < Context->HighlightingDuration)            continue;        item.mask = LVIF_STATE;        item.iItem = ListView_MapIDToIndex(hwnd, entry->Id);        item.iSubItem = 0;        item.stateMask = LVIS_STATEIMAGEMASK;        CallWindowProc(Context->OldWndProc, hwnd, LVM_GETITEM, 0, (LPARAM)&item);        itemState = PH_GET_ITEM_STATE(item.state);        if (itemState == RemovingItemState)        {            if (!redrawDisabled)            {                ExtendedListView_SetRedraw(hwnd, FALSE);                redrawDisabled = TRUE;            }            CallWindowProc(Context->OldWndProc, hwnd, LVM_DELETEITEM, item.iItem, 0);            if (!itemsToRemove)                itemsToRemove = PhCreateList(2);            PhAddItemList(itemsToRemove, (PVOID)entry->Id);            entry->TickCount = tickCount;        }    }    if (redrawDisabled)    {        ExtendedListView_SetRedraw(hwnd, TRUE);    }    if (itemsToRemove)//.........这里部分代码省略.........
开发者ID:john-peterson,项目名称:processhacker,代码行数:101,


示例9: SubClassEdit

/*------------------------------------------------------------------------Procedure:     SubClassEdit ID:1Purpose:       Handles messages to the editboxInput:         Output:        Errors:--------------------------------------------------------------------------Edit History:	14 Sept 2003 - Chris Watford [email
C++ CallWorker函数代码示例
C++ CallService函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。