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

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

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

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

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

示例1: switch

LRESULT COverlappedWindow::windowProc(HWND handle, UINT message, WPARAM wParam, LPARAM lParam){	switch( message ) {		case WM_NCCREATE:		{			CREATESTRUCT* pCreate = reinterpret_cast<CREATESTRUCT*>(lParam);			COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(pCreate->lpCreateParams);			SetWindowLongPtr(handle, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(windowPtr));			windowPtr->OnNCCreate(handle);			return true;		}		case WM_CREATE:		{			COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));			windowPtr->OnCreate();			break;		}		case WM_SIZE:		{			COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));			windowPtr->OnSize();			break;		}		case WM_CTLCOLOREDIT:		{			COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));			HDC hdc = reinterpret_cast<HDC>(wParam);			return windowPtr->OnControlColorEdit(hdc);		}		case WM_COMMAND:		{			if( HIWORD(wParam) == EN_CHANGE ) {				COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));				windowPtr->OnTextChange();				break;			}			switch( LOWORD(wParam) ) {				case ID_FILE_SAVE:				{					COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));					windowPtr->saveFile();					break;				}				case ID_FILE_EXIT:				{					COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));					windowPtr->OnClose();					break;				}				case ID_VIEW_SETTINGS:				{					COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));					windowPtr->showSettings();					break;				}				case ID_KILL:				{					COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));					windowPtr->OnDestroy();					break;				}			}			break;		}		case WM_CLOSE:		{			COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));			windowPtr->OnClose();			break;		}		case WM_DESTROY:		{			COverlappedWindow* windowPtr = reinterpret_cast<COverlappedWindow*>(GetWindowLongPtr(handle, GWLP_USERDATA));			windowPtr->OnDestroy();			break;		}		default:			return DefWindowProc(handle, message, wParam, lParam);	}	return false;}
开发者ID:nikitarykov,项目名称:winapi-abbyy,代码行数:81,


示例2: return

IVDVideoWindow *VDGetIVideoWindow(HWND hwnd) {	return (IVDVideoWindow *)(VDVideoWindow *)GetWindowLongPtr(hwnd, 0);}
开发者ID:fishman,项目名称:virtualdub,代码行数:3,


示例3: LocalEditProc

//.........这里部分代码省略.........                pvtext = &pVib->pvtext[pVib->vibIndex];                pInfo->pFormat = pvtext->pszFormat;                pInfo->pBuffer  = FTGetPanelString( pvitLocal, pVib, pInfo->CtrlId);                if ( pInfo->CtrlId == ID_PANE_RIGHT) {                    pInfo->ReadOnly = FALSE;                    pInfo->NewText  = FTGetPanelStatus( pVib, pInfo->CtrlId);                } else {                    pInfo->ReadOnly = TRUE;                    pInfo->NewText  = FALSE;                }                return TRUE;            case WU_SETWATCH:                if ( pvitLocal == NULL) {                    return(FALSE);                }                if ( p->nCtrlId == ID_PANE_RIGHT) {                    BOOL retval;                    fUseFrameContext = TRUE;                    retval = (AcceptValueUpdate( pvitLocal, p));                    if (retval == TRUE) {                         UpdateDebuggerState(UPDATE_DATAWINS);                    }                    fUseFrameContext = FALSE;                    return retval;                }                break;            case WU_INVALIDATE:                if (p == (PPANE)NULL) {                    p = (PPANE)GetWindowLongPtr(GetLocalHWND(), GWW_EDIT);                }                SendMessage(p->hWndLeft, LB_SETCOUNT, 0, 0);                SendMessage(p->hWndButton, LB_SETCOUNT, 0, 0);                SendMessage(p->hWndRight, LB_SETCOUNT, 0, 0);                p->MaxIdx = 0;                PostMessage(hwnd, WU_UPDATE, 0, 0L);                InvalidateRect(p->hWndButton, NULL, TRUE);                InvalidateRect(p->hWndLeft, NULL, TRUE);                InvalidateRect(p->hWndRight, NULL, TRUE);                UpdateWindow (p->hWndButton);                UpdateWindow (p->hWndLeft);                UpdateWindow (p->hWndRight);                break;            case WU_EXPANDWATCH:                if ( pvitLocal == NULL) {                    return(FALSE);                }                if ( FTExpand(pvitLocal, (ULONG)(wParam)) != OK) {                    return(FALSE);                }                p->LeftOk = p->RightOk = FALSE;                pCxf = &pvitLocal->cxf;            // Update in vit context                //                // fall thru...                //            case WU_UPDATE:
开发者ID:maerson,项目名称:windbg,代码行数:66,


示例4: WindowProc

LONG WINAPI WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {	poWindow *win = (poWindow*)GetWindowLongPtr(hwnd, GWL_USERDATA);	switch(uMsg) {		case WM_DESTROY:			PostQuitMessage(0);			break;		case WM_SIZE:			window_width = LOWORD(lParam);			window_height = HIWORD(lParam);			if(win) win->resized(0,0,window_width,window_height);			break;		case WM_RBUTTONDOWN:			::SetCapture(hwnd);			isDragging = true;			if(win) win->mouseDown(LOSHORT(lParam), HISHORT(lParam), 0);			break;		case WM_RBUTTONUP:			::ReleaseCapture();			isDragging = false;				if(win) win->mouseUp(LOSHORT(lParam), HISHORT(lParam), 0);			break;		case WM_LBUTTONDOWN:			::SetCapture(hwnd);			isDragging = true;			if(win) win->mouseDown(LOSHORT(lParam), HISHORT(lParam), 0);			break;		case WM_LBUTTONUP:			::ReleaseCapture();			isDragging = false;			if(win) win->mouseUp(LOSHORT(lParam), HISHORT(lParam), 0);			break;		case WM_MBUTTONDOWN:			::SetCapture(hwnd);			isDragging = true;			if(win) win->mouseDown(LOSHORT(lParam), HISHORT(lParam), 0);			break;		case WM_MBUTTONUP:			::ReleaseCapture();			isDragging = false;				if(win) win->mouseUp(LOSHORT(lParam), HISHORT(lParam), 0);			break;		case WM_MOUSEMOVE:			if( isDragging )				if(win) win->mouseDrag(LOSHORT(lParam), HISHORT(lParam), 0);			else				if(win) win->mouseMove(LOSHORT(lParam), HISHORT(lParam), 0);			break;		case WM_MOUSEWHEEL:			break;		case WM_SYSKEYDOWN: 			{				// alt-f4 ... pass to close the window				bool alt_down = (GetKeyState(VK_LMENU) & 0x80) || (GetKeyState(VK_RMENU) & 0x80) || (GetKeyState(VK_MENU) & 0x80);				if(VK_F4 == wParam && alt_down) {					PostMessage(hwnd, WM_CLOSE, 0, 0);					break;				}			}		case WM_KEYDOWN:			if(VK_F1 == wParam)				doFullscreen(hwnd, !is_fullscreen);			else				if(win) win->keyDown(mapVirtualKey(wParam), wParam, getKeyModifiers());			break;		case WM_SYSKEYUP:		case WM_KEYUP:				if(win) win->keyUp(mapVirtualKey(wParam), wParam, getKeyModifiers());			break;		case WM_KILLFOCUS:			// if we lose capture during a drag, post a mouse up event as a notifier			if( isDragging ) {				if(win) win->mouseDrag(LOSHORT(lParam), HISHORT(lParam), 0);			}			isDragging = false;			break;		case WM_ACTIVATE:			// make sure our fullscreen window plays nice with the task switcher			if(is_fullscreen) {				// if we're loosing focus, minimize to system tray				bool is_deactivated = WA_INACTIVE == LOWORD(wParam);				if(is_deactivated)					ShowWindow(hwnd,SW_SHOWMINIMIZED);				else					// sw_showmaximized flashes the title bar					// sw_show flashes the system tray, go figure					ShowWindow(hwnd,SW_SHOWMAXIMIZED);			}			break;//.........这里部分代码省略.........
开发者ID:Potion,项目名称:pocode,代码行数:101,


示例5: DatePageProc

/* Property page dialog callback */INT_PTR CALLBACKDatePageProc(HWND hwndDlg,             UINT uMsg,             WPARAM wParam,             LPARAM lParam){    PGLOBALDATA pGlobalData;    pGlobalData = (PGLOBALDATA)GetWindowLongPtr(hwndDlg, DWLP_USER);    switch (uMsg)    {    case WM_INITDIALOG:        pGlobalData = (PGLOBALDATA)((LPPROPSHEETPAGE)lParam)->lParam;        SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);        InitMinMaxDateSpin(hwndDlg, pGlobalData->lcid);        UpdateDateLocaleSamples(hwndDlg, pGlobalData->lcid);        InitShortDateCB(hwndDlg, pGlobalData->lcid);        InitLongDateCB(hwndDlg, pGlobalData->lcid);        InitShortDateSepSamples(hwndDlg, pGlobalData->lcid);        /* TODO: Add other calendar types */        break;    case WM_COMMAND:    {        switch (LOWORD(wParam))        {        case IDC_SECONDYEAR_EDIT:        {            if(HIWORD(wParam)==EN_CHANGE)            {                SetMinData(hwndDlg);            }        }        case IDC_SCR_MAX_YEAR:        {            /* Set "Apply" button enabled */            /* FIXME */            //PropSheet_Changed(GetParent(hwndDlg), hwndDlg);        }        break;        case IDC_CALTYPE_COMBO:        case IDC_HIJCHRON_COMBO:        case IDC_SHRTDATEFMT_COMBO:        case IDC_SHRTDATESEP_COMBO:        case IDC_LONGDATEFMT_COMBO:        {            if (HIWORD(wParam) == CBN_SELCHANGE || HIWORD(wParam) == CBN_EDITCHANGE)            {                /* Set "Apply" button enabled */                PropSheet_Changed(GetParent(hwndDlg), hwndDlg);            }        }        break;        }    }    break;    case WM_NOTIFY:    {        LPNMHDR lpnm = (LPNMHDR)lParam;        /* If push apply button */        if (lpnm->code == (UINT)PSN_APPLY)        {            SetMaxDate(hwndDlg, pGlobalData->lcid);            if(!SetShortDateSep(hwndDlg, pGlobalData->lcid)) break;            if(!SetShortDateFormat(hwndDlg, pGlobalData->lcid)) break;            if(!SetLongDateFormat(hwndDlg, pGlobalData->lcid)) break;            InitShortDateCB(hwndDlg, pGlobalData->lcid);            /* FIXME: */            //Sleep(15);            UpdateDateLocaleSamples(hwndDlg, pGlobalData->lcid);        }    }    break;    }    return FALSE;}
开发者ID:RareHare,项目名称:reactos,代码行数:80,


示例6: DlgProcColorToolWindow

INT_PTR CALLBACK DlgProcColorToolWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam){    static COLORCHOOSER* pCC = NULL;    static int iCurrentHotTrack;    static BOOL bChoosing;    static int iRows;    static int iColumns;    static HWND hPreviousActiveWindow;    switch(msg) {    case WM_INITDIALOG:    {        RECT rc;        int iSquareRoot;        int width ;        int height;        TranslateDialogDefault(hwndDlg);        pCC = (COLORCHOOSER*) lParam;        iCurrentHotTrack = -2;        bChoosing = FALSE;        iSquareRoot = (int)sqrt(pCC->pModule->nColorCount);        iColumns = iSquareRoot * iSquareRoot == pCC->pModule->nColorCount?iSquareRoot:iSquareRoot+1;        iRows = iSquareRoot;        rc.top = rc.left = 100;        rc.right =  100 +  iColumns * 25 + 1;        rc.bottom = iRows * 20 + 100 + 20;        AdjustWindowRectEx(&rc, GetWindowLongPtr(hwndDlg, GWL_STYLE), FALSE, GetWindowLongPtr(hwndDlg, GWL_EXSTYLE));        width = rc.right - rc.left;        height = rc.bottom - rc.top;        pCC->yPosition -= height;        SetDlgItemText(hwndDlg, IDC_COLORTEXT, pCC->bForeground?TranslateT("Text colour"):TranslateT("Background colour"));        SetWindowPos(GetDlgItem(hwndDlg, IDC_COLORTEXT), NULL,  0, 0, width, 20, 0);        SetWindowPos(hwndDlg, NULL, pCC->xPosition, pCC->yPosition, width, height, SWP_SHOWWINDOW);    }    break;    case WM_CTLCOLOREDIT:    case WM_CTLCOLORSTATIC:        if (( HWND )lParam == GetDlgItem( hwndDlg, IDC_COLORTEXT )) {            SetTextColor((HDC)wParam,RGB(60,60,150));            SetBkColor((HDC)wParam,GetSysColor(COLOR_WINDOW));            return (INT_PTR)GetSysColorBrush(COLOR_WINDOW);        }        break;    case WM_COMMAND:        switch ( LOWORD( wParam )) {        case IDOK:            if (iCurrentHotTrack >= 0)                PostMessage(hwndDlg, WM_LBUTTONUP, 0, 0);            break;        case IDCANCEL:            DestroyWindow(hwndDlg);            break;        }        break;    case WM_LBUTTONUP:        if (iCurrentHotTrack >= 0 && iCurrentHotTrack < pCC->pModule->nColorCount && pCC->hWndTarget != NULL) {            HWND hWindow;            CHARFORMAT2 cf;            cf.cbSize = sizeof(CHARFORMAT2);            cf.dwMask = 0;            cf.dwEffects = 0;            hWindow = GetParent( pCC->hWndTarget );            if ( pCC->bForeground ) {                pCC->si->bFGSet = TRUE;                pCC->si->iFG = iCurrentHotTrack;                if ( IsDlgButtonChecked( hWindow, IDC_COLOR )) {                    cf.dwMask = CFM_COLOR;                    cf.crTextColor = pCC->pModule->crColors[iCurrentHotTrack];                    SendMessage(pCC->hWndTarget, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);                }            }            else {                pCC->si->bBGSet = TRUE;                pCC->si->iBG = iCurrentHotTrack;                if ( IsDlgButtonChecked( hWindow, IDC_BKGCOLOR )) {                    cf.dwMask = CFM_BACKCOLOR;                    cf.crBackColor = pCC->pModule->crColors[iCurrentHotTrack];                    SendMessage(pCC->hWndTarget, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);                }            }        }        PostMessage(hwndDlg, WM_CLOSE, 0, 0);        break;    case WM_ACTIVATE:        if (wParam == WA_INACTIVE)//.........这里部分代码省略.........
开发者ID:raoergsls,项目名称:miranda,代码行数:101,


示例7: FBOptionsMessagingProc

INT_PTR CALLBACK FBOptionsMessagingProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam){	FacebookProto *proto = reinterpret_cast<FacebookProto*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));	switch (message)	{	case WM_INITDIALOG:	{		TranslateDialogDefault(hwnd);		proto = reinterpret_cast<FacebookProto*>(lparam);		SetWindowLongPtr(hwnd, GWLP_USERDATA, lparam);		LoadDBCheckState(proto, hwnd, IDC_CUSTOM_SMILEYS, FACEBOOK_KEY_CUSTOM_SMILEYS, DEFAULT_CUSTOM_SMILEYS);		LoadDBCheckState(proto, hwnd, IDC_KEEP_UNREAD, FACEBOOK_KEY_KEEP_UNREAD, DEFAULT_KEEP_UNREAD);		LoadDBCheckState(proto, hwnd, IDC_MESSAGES_ON_OPEN, FACEBOOK_KEY_MESSAGES_ON_OPEN, DEFAULT_MESSAGES_ON_OPEN);		LoadDBCheckState(proto, hwnd, IDC_LOGIN_SYNC, FACEBOOK_KEY_LOGIN_SYNC, DEFAULT_LOGIN_SYNC);		LoadDBCheckState(proto, hwnd, IDC_ENABLE_CHATS, FACEBOOK_KEY_ENABLE_CHATS, DEFAULT_ENABLE_CHATS);		LoadDBCheckState(proto, hwnd, IDC_HIDE_CHATS, FACEBOOK_KEY_HIDE_CHATS, DEFAULT_HIDE_CHATS);		int count = proto->getByte(FACEBOOK_KEY_MESSAGES_ON_OPEN_COUNT, 10);		count = min(count, FACEBOOK_MESSAGES_ON_OPEN_LIMIT);		SetDlgItemInt(hwnd, IDC_MESSAGES_COUNT, count, TRUE);		SendDlgItemMessage(hwnd, IDC_MESSAGES_COUNT, EM_LIMITTEXT, 2, 0);		SendDlgItemMessage(hwnd, IDC_MESSAGES_COUNT_SPIN, UDM_SETRANGE32, 1, 99);	} return TRUE;	case WM_COMMAND:		switch (LOWORD(wparam))		{		case IDC_MESSAGES_COUNT:			if (HIWORD(wparam) == EN_CHANGE && (HWND)lparam == GetFocus())				SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0);			break;		default:			SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0);		}		return TRUE;	case WM_NOTIFY:	{		if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY)		{			StoreDBCheckState(proto, hwnd, IDC_CUSTOM_SMILEYS, FACEBOOK_KEY_CUSTOM_SMILEYS);			StoreDBCheckState(proto, hwnd, IDC_KEEP_UNREAD, FACEBOOK_KEY_KEEP_UNREAD);			StoreDBCheckState(proto, hwnd, IDC_LOGIN_SYNC, FACEBOOK_KEY_LOGIN_SYNC);			StoreDBCheckState(proto, hwnd, IDC_MESSAGES_ON_OPEN, FACEBOOK_KEY_MESSAGES_ON_OPEN);			StoreDBCheckState(proto, hwnd, IDC_ENABLE_CHATS, FACEBOOK_KEY_ENABLE_CHATS);			StoreDBCheckState(proto, hwnd, IDC_HIDE_CHATS, FACEBOOK_KEY_HIDE_CHATS);			int count = GetDlgItemInt(hwnd, IDC_MESSAGES_COUNT, NULL, TRUE);			count = min(count, FACEBOOK_MESSAGES_ON_OPEN_LIMIT);			proto->setByte(FACEBOOK_KEY_MESSAGES_ON_OPEN_COUNT, count);		}	} return TRUE;	}	return FALSE;}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:65,


示例8: HookWindow

//===========================================================================int HookWindow (HWND hwnd, int early){    LONG_PTR lStyle = GetWindowLongPtr(hwnd, GWL_STYLE);    // if it does not have a caption, there is nothing to skin.    if (WS_CAPTION != (lStyle & WS_CAPTION))    {        //send_log(hwnd, "no caption");        return 0;    }    LONG_PTR lExStyle = GetWindowLongPtr(hwnd, GWL_EXSTYLE);    // child windows are excluded unless they have a sysmenu or are MDI clients    if ((lStyle & WS_CHILD)        && false == (lStyle & WS_SYSMENU)        && false == (WS_EX_MDICHILD & lExStyle)        )    {        //send_log(hwnd, "child, no sysmenu, not a MDI");        return 0;    }    // if it is already hooked, dont fall into loop    if (get_WinInfo(hwnd))    {        //send_log(hwnd, "already hooked");        return 0;    }    // being skeptical about windows without sysmenu    if (false == (lStyle & WS_SYSMENU) && false == (lStyle & WS_VISIBLE))    {        //if (0 == early) send_log(hwnd, "invisible without sysmenu");        return early;    }    // check for something like a vertical titlebar, erm...    if (lExStyle & WS_EX_TOOLWINDOW)    {        RECT rc; GetWindowRect(hwnd, &rc);        ScreenToClient(hwnd, (LPPOINT)&rc.left);        if (rc.top > -10)        {            //if (0 == early) send_log(hwnd, "abnormal caption");            return early;        }    }    // ------------------------------------------------------    // now check the exclusion list    int found = 0;    struct shmem sh;    SkinStruct *pSkin = (SkinStruct *)GetSharedMem(&sh);    if (NULL == pSkin)        return 0;    copy_skin(pSkin);    char sClassName[200]; sClassName[0] = 0;    GetClassName(hwnd, sClassName, sizeof sClassName);    char sFileName[200]; sFileName[0] = 0;    get_module(hwnd, sFileName, sizeof sFileName);    struct exclusion_item *ei = pSkin->exInfo.ei;    for (int i = pSkin->exInfo.count; i; --i)    {        char *f, *c = (f = ei->buff) + ei->flen;        // if filename matches and if class matches or is empty...        bool r = match(sFileName, f) && (0 == *c || match(sClassName, c));        //dbg_printf("check [%d,%d] %s:%s", r, ei->option, f, c);        if (r)        {            found = 1 == ei->option ? -1 : 1; // check 'hook-early' option            break;        }        ei = (struct exclusion_item *)(c + ei->clen);    }    ReleaseSharedMem(&sh);    // ------------------------------------------------------    if (early && 0 == found)    {        //send_log(hwnd, "Checking later:");        return 1;    }    // send message to log_window    if (mSkin.enableLog)    {        char msg[100];        sprintf_s(msg, 100, "%s%s",            found > 0 ? "Excluded" : early ? "Hooked early" : "Hooked",            IsWindowVisible(hwnd) ? "" : " invisible");        send_log(hwnd, msg);//.........这里部分代码省略.........
开发者ID:ejasiunas,项目名称:bbclean-xzero450,代码行数:101,


示例9: FBAccountProc

INT_PTR CALLBACK FBAccountProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam){	FacebookProto *proto = reinterpret_cast<FacebookProto*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));	switch (message)	{	case WM_INITDIALOG:	{		TranslateDialogDefault(hwnd);		proto = reinterpret_cast<FacebookProto*>(lparam);		SetWindowLongPtr(hwnd, GWLP_USERDATA, lparam);		ptrA login(db_get_sa(NULL, proto->ModuleName(), FACEBOOK_KEY_LOGIN));		if (login != NULL)			SetDlgItemTextA(hwnd, IDC_UN, login);		ptrA password(db_get_sa(NULL, proto->ModuleName(), FACEBOOK_KEY_PASS));		if (password != NULL)			SetDlgItemTextA(hwnd, IDC_PW, password);		if (!proto->isOffline())		{			SendDlgItemMessage(hwnd, IDC_UN, EM_SETREADONLY, 1, 0);			SendDlgItemMessage(hwnd, IDC_PW, EM_SETREADONLY, 1, 0);		}		return TRUE;	}	case WM_COMMAND:		if (LOWORD(wparam) == IDC_NEWACCOUNTLINK)		{			proto->OpenUrl(std::string(FACEBOOK_URL_HOMEPAGE));			return TRUE;		}		if (HIWORD(wparam) == EN_CHANGE && reinterpret_cast<HWND>(lparam) == GetFocus())		{			switch (LOWORD(wparam))			{			case IDC_UN:			case IDC_PW:				SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0);			}		}		break;	case WM_NOTIFY:		if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY)		{			char str[128];			GetDlgItemTextA(hwnd, IDC_UN, str, _countof(str));			db_set_s(NULL, proto->ModuleName(), FACEBOOK_KEY_LOGIN, str);			GetDlgItemTextA(hwnd, IDC_PW, str, _countof(str));			db_set_s(NULL, proto->ModuleName(), FACEBOOK_KEY_PASS, str);			return TRUE;		}		break;	}	return FALSE;}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:65,


示例10: FBOptionsEventsProc

INT_PTR CALLBACK FBOptionsEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam){	FacebookProto *proto = reinterpret_cast<FacebookProto*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));	switch (message)	{	case WM_INITDIALOG:	{		TranslateDialogDefault(hwnd);		proto = reinterpret_cast<FacebookProto*>(lparam);		SetWindowLongPtr(hwnd, GWLP_USERDATA, lparam);		for (size_t i = 0; i < _countof(feed_types); i++)			SendDlgItemMessageA(hwnd, IDC_FEED_TYPE, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(Translate(feed_types[i].name)));		SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_FEED_TYPE, 0), 0);		for (size_t i = 0; i < _countof(server_types); i++)			SendDlgItemMessageA(hwnd, IDC_URL_SERVER, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(Translate(server_types[i].name)));		SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_SERVER_TYPE, 0), 0);		LoadDBCheckState(proto, hwnd, IDC_SYSTRAY_NOTIFY, FACEBOOK_KEY_SYSTRAY_NOTIFY, DEFAULT_SYSTRAY_NOTIFY);		LoadDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_CHATROOM, FACEBOOK_KEY_NOTIFICATIONS_CHATROOM, DEFAULT_NOTIFICATIONS_CHATROOM);		LoadDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_ENABLE, FACEBOOK_KEY_EVENT_NOTIFICATIONS_ENABLE, DEFAULT_EVENT_NOTIFICATIONS_ENABLE);		LoadDBCheckState(proto, hwnd, IDC_FEEDS_ENABLE, FACEBOOK_KEY_EVENT_FEEDS_ENABLE, DEFAULT_EVENT_FEEDS_ENABLE);		LoadDBCheckState(proto, hwnd, IDC_FRIENDSHIP_ENABLE, FACEBOOK_KEY_EVENT_FRIENDSHIP_ENABLE, DEFAULT_EVENT_FRIENDSHIP_ENABLE);		LoadDBCheckState(proto, hwnd, IDC_TICKER_ENABLE, FACEBOOK_KEY_EVENT_TICKER_ENABLE, DEFAULT_EVENT_TICKER_ENABLE);		LoadDBCheckState(proto, hwnd, IDC_ON_THIS_DAY_ENABLE, FACEBOOK_KEY_EVENT_ON_THIS_DAY_ENABLE, DEFAULT_EVENT_ON_THIS_DAY_ENABLE);		LoadDBCheckState(proto, hwnd, IDC_FILTER_ADS, FACEBOOK_KEY_FILTER_ADS, DEFAULT_FILTER_ADS);	} return TRUE;	case WM_COMMAND:		switch (LOWORD(wparam))		{		case IDC_FEED_TYPE:		case IDC_URL_SERVER:			if (HIWORD(wparam) == CBN_SELCHANGE)				SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0);			break;		default:			SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0);		}		return TRUE;	case WM_NOTIFY:	{		if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY)		{			proto->setByte(FACEBOOK_KEY_FEED_TYPE, SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_GETCURSEL, 0, 0));			proto->setByte(FACEBOOK_KEY_SERVER_TYPE, SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_GETCURSEL, 0, 0));			StoreDBCheckState(proto, hwnd, IDC_SYSTRAY_NOTIFY, FACEBOOK_KEY_SYSTRAY_NOTIFY);			StoreDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_CHATROOM, FACEBOOK_KEY_NOTIFICATIONS_CHATROOM);			StoreDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_ENABLE, FACEBOOK_KEY_EVENT_NOTIFICATIONS_ENABLE);			StoreDBCheckState(proto, hwnd, IDC_FEEDS_ENABLE, FACEBOOK_KEY_EVENT_FEEDS_ENABLE);			StoreDBCheckState(proto, hwnd, IDC_FRIENDSHIP_ENABLE, FACEBOOK_KEY_EVENT_FRIENDSHIP_ENABLE);			StoreDBCheckState(proto, hwnd, IDC_TICKER_ENABLE, FACEBOOK_KEY_EVENT_TICKER_ENABLE);			StoreDBCheckState(proto, hwnd, IDC_ON_THIS_DAY_ENABLE, FACEBOOK_KEY_EVENT_ON_THIS_DAY_ENABLE);			StoreDBCheckState(proto, hwnd, IDC_FILTER_ADS, FACEBOOK_KEY_FILTER_ADS);		}	} return TRUE;	}	return FALSE;}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:70,


示例11: FBOptionsProc

INT_PTR CALLBACK FBOptionsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam){	FacebookProto *proto = reinterpret_cast<FacebookProto*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));	switch (message)	{	case WM_INITDIALOG:	{		TranslateDialogDefault(hwnd);		proto = reinterpret_cast<FacebookProto*>(lparam);		SetWindowLongPtr(hwnd, GWLP_USERDATA, lparam);		ptrA login(db_get_sa(NULL, proto->ModuleName(), FACEBOOK_KEY_LOGIN));		if (login != NULL)			SetDlgItemTextA(hwnd, IDC_UN, login);		ptrA password(db_get_sa(NULL, proto->ModuleName(), FACEBOOK_KEY_PASS));		if (password != NULL)			SetDlgItemTextA(hwnd, IDC_PW, password);		if (!proto->isOffline()) {			SendDlgItemMessage(hwnd, IDC_UN, EM_SETREADONLY, TRUE, 0);			SendDlgItemMessage(hwnd, IDC_PW, EM_SETREADONLY, TRUE, 0);		}		SendDlgItemMessage(hwnd, IDC_GROUP, EM_LIMITTEXT, FACEBOOK_GROUP_NAME_LIMIT, 0);		if (proto->m_tszDefaultGroup != NULL)			SetDlgItemText(hwnd, IDC_GROUP, proto->m_tszDefaultGroup);		LoadDBCheckState(proto, hwnd, IDC_SET_IGNORE_STATUS, FACEBOOK_KEY_DISABLE_STATUS_NOTIFY, DEFAULT_DISABLE_STATUS_NOTIFY);		LoadDBCheckState(proto, hwnd, IDC_BIGGER_AVATARS, FACEBOOK_KEY_BIG_AVATARS, DEFAULT_BIG_AVATARS);		LoadDBCheckState(proto, hwnd, IDC_NAME_AS_NICK, FACEBOOK_KEY_NAME_AS_NICK, DEFAULT_NAME_AS_NICK);	} return TRUE;	case WM_COMMAND:	{		switch (LOWORD(wparam)) {		case IDC_NEWACCOUNTLINK:			proto->OpenUrl(std::string(FACEBOOK_URL_HOMEPAGE));			return TRUE;		case IDC_UN:		case IDC_PW:		case IDC_GROUP:			if (HIWORD(wparam) == EN_CHANGE && (HWND)lparam == GetFocus())				SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0);			break;		default:			SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0);		}	} break;	case WM_NOTIFY:		if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY)		{			char str[128]; TCHAR tstr[128];			GetDlgItemTextA(hwnd, IDC_UN, str, _countof(str));			db_set_s(0, proto->ModuleName(), FACEBOOK_KEY_LOGIN, str);			GetDlgItemTextA(hwnd, IDC_PW, str, _countof(str));			proto->setString(FACEBOOK_KEY_PASS, str);			GetDlgItemText(hwnd, IDC_GROUP, tstr, _countof(tstr));			if (tstr[0] != '/0')			{				proto->m_tszDefaultGroup = mir_tstrdup(tstr);				proto->setTString(FACEBOOK_KEY_DEF_GROUP, tstr);				Clist_GroupCreate(0, tstr);			}			else {				proto->delSetting(FACEBOOK_KEY_DEF_GROUP);				proto->m_tszDefaultGroup = NULL;			}							StoreDBCheckState(proto, hwnd, IDC_SET_IGNORE_STATUS, FACEBOOK_KEY_DISABLE_STATUS_NOTIFY);			StoreDBCheckState(proto, hwnd, IDC_BIGGER_AVATARS, FACEBOOK_KEY_BIG_AVATARS);			StoreDBCheckState(proto, hwnd, IDC_NAME_AS_NICK, FACEBOOK_KEY_NAME_AS_NICK);			return TRUE;		}		break;	}	return FALSE;}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:90,


示例12: FBMindProc

INT_PTR CALLBACK FBMindProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam){	post_status_data *data;	switch (message)	{	case WM_INITDIALOG:	{		TranslateDialogDefault(hwnd);		Window_SetIcon_IcoLib(hwnd, GetIconHandle("mind"));		data = reinterpret_cast<post_status_data*>(lparam);		SetWindowLongPtr(hwnd, GWLP_USERDATA, lparam);		SendDlgItemMessage(hwnd, IDC_MINDMSG, EM_LIMITTEXT, FACEBOOK_MIND_LIMIT, 0);		SendDlgItemMessage(hwnd, IDC_URL, EM_LIMITTEXT, 1024, 0);		ptrT place(data->proto->getTStringA(FACEBOOK_KEY_PLACE));		SetDlgItemText(hwnd, IDC_PLACE, place != NULL ? place : _T("Miranda NG"));		bShowContacts = data->proto->getByte("PostStatusExpand", 0) > 0;		ResizeHorizontal(hwnd, bShowContacts);		HWND hwndClist = GetDlgItem(hwnd, IDC_CCLIST);		SetWindowLongPtr(hwndClist, GWL_STYLE, GetWindowLongPtr(hwndClist, GWL_STYLE) & ~CLS_HIDEOFFLINE);		for (std::vector<wall_data*>::size_type i = 0; i < data->walls.size(); i++)			SendDlgItemMessage(hwnd, IDC_WALL, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(data->walls[i]->title));		SendDlgItemMessage(hwnd, IDC_WALL, CB_SETCURSEL, 0, 0);		SendDlgItemMessage(hwnd, IDC_WALL, CB_SETCURSEL, data->proto->getByte(FACEBOOK_KEY_LAST_WALL, 0), 0);		RefreshPrivacy(hwnd, data);		ptrA firstname(data->proto->getStringA(FACEBOOK_KEY_FIRST_NAME));		if (firstname != NULL) {			char title[100];			mir_snprintf(title, Translate("What's on your mind, %s?"), firstname);			SetWindowTextA(hwnd, title);		}	}	EnableWindow(GetDlgItem(hwnd, IDOK), FALSE);	return TRUE;	case WM_NOTIFY:	{		NMCLISTCONTROL *nmc = (NMCLISTCONTROL *)lparam;		if (nmc->hdr.idFrom == IDC_CCLIST) {			switch (nmc->hdr.code) {			case CLN_LISTREBUILT:				data = reinterpret_cast<post_status_data*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));				ClistPrepare(data->proto, NULL, nmc->hdr.hwndFrom);				break;			}		}	}	break;	case WM_COMMAND:		switch (LOWORD(wparam))		{		case IDC_WALL:			if (HIWORD(wparam) == CBN_SELCHANGE) {				data = reinterpret_cast<post_status_data*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));				RefreshPrivacy(hwnd, data);			}			break;		case IDC_MINDMSG:		case IDC_URL:			if (HIWORD(wparam) == EN_CHANGE) {				bool ok = SendDlgItemMessage(hwnd, IDC_MINDMSG, WM_GETTEXTLENGTH, 0, 0) > 0;				if (!ok && SendDlgItemMessage(hwnd, IDC_URL, WM_GETTEXTLENGTH, 0, 0) > 0)					ok = true;				EnableWindow(GetDlgItem(hwnd, IDOK), ok);				return TRUE;			}			break;		case IDC_EXPAND:			bShowContacts = !bShowContacts;			ResizeHorizontal(hwnd, bShowContacts);			break;		case IDOK:		{			data = reinterpret_cast<post_status_data*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));			TCHAR mindMessageT[FACEBOOK_MIND_LIMIT + 1];			TCHAR urlT[1024];			TCHAR placeT[100];			GetDlgItemText(hwnd, IDC_MINDMSG, mindMessageT, _countof(mindMessageT));			GetDlgItemText(hwnd, IDC_PLACE, placeT, _countof(placeT));			GetDlgItemText(hwnd, IDC_URL, urlT, _countof(urlT));			ShowWindow(hwnd, SW_HIDE);			int wall_id = SendDlgItemMessage(hwnd, IDC_WALL, CB_GETCURSEL, 0, 0);//.........这里部分代码省略.........
开发者ID:ybznek,项目名称:miranda-ng,代码行数:101,


示例13: win_proc

LRESULT CALLBACK win_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam){    struct ag_window* window = (struct ag_window*)GetWindowLongPtr(hwnd, GWLP_USERDATA);    switch(msg)    {    case WM_CREATE:        SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)((LPCREATESTRUCT)lparam)->lpCreateParams);        break;    case WM_DESTROY:        ag_event__push(ag_event__close_new(window));        break;    case WM_PAINT:    {        struct ag_surface32* surface = window->filtered_surface->output;        BITMAPINFO info;        PAINTSTRUCT ps;        info.bmiHeader.biSize = sizeof(BITMAPINFO);        info.bmiHeader.biWidth = surface->size.w;        info.bmiHeader.biHeight = -surface->size.h;        info.bmiHeader.biPlanes = 1;        info.bmiHeader.biBitCount = 32;        info.bmiHeader.biCompression = BI_RGB;        info.bmiHeader.biSizeImage = 0;        info.bmiHeader.biXPelsPerMeter = 1;        info.bmiHeader.biYPelsPerMeter = 1;        info.bmiHeader.biClrUsed = 0;        info.bmiHeader.biClrImportant = 0;        HDC hdc = BeginPaint(hwnd, &ps);        SetDIBitsToDevice(hdc, 0, 0, surface->size.w, surface->size.h, 0, 0, 0, surface->size.h, surface->data, &info, DIB_RGB_COLORS);        EndPaint(hwnd, &ps);        break;    }    case WM_SIZE:        window->size = ag_vec2i(LOWORD(lparam)/window->filtered_surface->scale, HIWORD(lparam)/window->filtered_surface->scale);        ag_window__reinit_surfaces(window);        if(ag_state_current)            ag_state__run_inner(ag_state_current);        break;    case WM_INPUT:    {        unsigned size;        GetRawInputData((HRAWINPUT)lparam, RID_INPUT, 0, &size, sizeof(RAWINPUTHEADER));        RAWINPUT* input = (RAWINPUT*)malloc(size);        GetRawInputData((HRAWINPUT)lparam, RID_INPUT, input, &size, sizeof(RAWINPUTHEADER));        RAWHID* hid = &input->data.hid;        for(int i = 0; i < hid->dwCount; ++i)        {            printf("[ ");            for(int j = 0; j < hid->dwSizeHid; ++j)                printf("%#04x ", hid->bRawData[j+i*hid->dwSizeHid]);            printf("] ");        }        printf("/n");    }    break;    case WM_MOUSEMOVE:        window->mouse_pos.x = GET_X_LPARAM(lparam) / window->filtered_surface->scale;        window->mouse_pos.y = GET_Y_LPARAM(lparam) / window->filtered_surface->scale;        ag_event__push(ag_event__mouse_move_new(window, window->mouse_pos));        break;    case WM_LBUTTONDOWN:        ag_event__push(ag_event__mouse_down_new(window, window->mouse_pos));        break;    case WM_LBUTTONUP:        ag_event__push(ag_event__mouse_up_new(window, window->mouse_pos));        break;    default:        return DefWindowProc(hwnd, msg, wparam, lparam);    }    return 0;}
开发者ID:Athaudia,项目名称:athgame,代码行数:71,


示例14: GetModuleHandle

bool Win32Factory::init(){    const char* vlc_name = "VLC Media Player";    const char* vlc_icon = "VLC_ICON";    const char* vlc_class = "SkinWindowClass";    // Get instance handle    m_hInst = GetModuleHandle( NULL );    if( m_hInst == NULL )    {        msg_Err( getIntf(), "Cannot get module handle" );    }    // Create window class    WNDCLASS skinWindowClass;    skinWindowClass.style = CS_DBLCLKS;    skinWindowClass.lpfnWndProc = (WNDPROC)Win32Factory::Win32Proc;    skinWindowClass.lpszClassName = _T(vlc_class);    skinWindowClass.lpszMenuName = NULL;    skinWindowClass.cbClsExtra = 0;    skinWindowClass.cbWndExtra = 0;    skinWindowClass.hbrBackground = NULL;    skinWindowClass.hCursor = LoadCursor( NULL, IDC_ARROW );    skinWindowClass.hIcon = LoadIcon( m_hInst, _T(vlc_icon) );    skinWindowClass.hInstance = m_hInst;    // Register class and check it    if( !RegisterClass( &skinWindowClass ) )    {        WNDCLASS wndclass;        // Check why it failed. If it's because the class already exists        // then fine, otherwise return with an error.        if( !GetClassInfo( m_hInst, _T(vlc_class), &wndclass ) )        {            msg_Err( getIntf(), "cannot register window class" );            return false;        }    }    // Create Window    m_hParentWindow = CreateWindowEx( WS_EX_TOOLWINDOW, _T(vlc_class),        _T(vlc_name), WS_POPUP | WS_SYSMENU | WS_MINIMIZEBOX,        -200, -200, 0, 0, 0, 0, m_hInst, 0 );    if( m_hParentWindow == NULL )    {        msg_Err( getIntf(), "cannot create parent window" );        return false;    }    // Store with it a pointer to the interface thread    SetWindowLongPtr( m_hParentWindow, GWLP_USERDATA, (LONG_PTR)getIntf() );    // We do it this way otherwise CreateWindowEx will fail    // if WS_EX_LAYERED is not supported    SetWindowLongPtr( m_hParentWindow, GWL_EXSTYLE,                      GetWindowLongPtr( m_hParentWindow, GWL_EXSTYLE ) |                      WS_EX_LAYERED );    ShowWindow( m_hParentWindow, SW_SHOW );    // Initialize the systray icon    m_trayIcon.cbSize = sizeof( NOTIFYICONDATA );    m_trayIcon.hWnd = m_hParentWindow;    m_trayIcon.uID = 42;    m_trayIcon.uFlags = NIF_ICON|NIF_TIP|NIF_MESSAGE;    m_trayIcon.uCallbackMessage = MY_WM_TRAYACTION;    m_trayIcon.hIcon = LoadIcon( m_hInst, _T(vlc_icon) );    strcpy( m_trayIcon.szTip, vlc_name );    // Show the systray icon if needed    if( var_InheritBool( getIntf(), "skins2-systray" ) )    {        addInTray();    }    // Show the task in the task bar if needed    if( var_InheritBool( getIntf(), "skins2-taskbar" ) )    {        addInTaskBar();    }    // Initialize the OLE library (for drag & drop)    OleInitialize( NULL );    // Initialize the resource path    char *datadir = config_GetUserDir( VLC_DATA_DIR );    m_resourcePath.push_back( (string)datadir + "//skins" );    free( datadir );    datadir = config_GetDataDir();    m_resourcePath.push_back( (string)datadir + "//skins" );    m_resourcePath.push_back( (string)datadir + "//skins2" );    m_resourcePath.push_back( (string)datadir + "//share//skins" );    m_resourcePath.push_back( (string)datadir + "//share//skins2" );    free( datadir );    // Enumerate all monitors available    EnumDisplayMonitors( NULL, NULL, MonitorEnumProc, (LPARAM)&m_monitorList );    int num = 0;    for( list<HMONITOR>::iterator it = m_monitorList.begin();//.........这里部分代码省略.........
开发者ID:RicoP,项目名称:vlcfork,代码行数:101,


示例15: Creds_OnUpdate

void Creds_OnUpdate (HWND hDlg){   LPTSTR pszCell = (LPTSTR)GetWindowLongPtr (hDlg, DWLP_USER);   if (!pszCell || !*pszCell)      {      BOOL fRunning = IsServiceRunning();      ShowWindow (GetDlgItem (hDlg, IDC_RUNNING), fRunning);      ShowWindow (GetDlgItem (hDlg, IDC_STOPPED), !fRunning);      ShowWindow (GetDlgItem (hDlg, IDC_CREDS_OBTAIN), fRunning);      return;      }   lock_ObtainMutex(&g.credsLock);   size_t iCreds;   for (iCreds = 0; iCreds < g.cCreds; ++iCreds)      {      if (!lstrcmpi (g.aCreds[ iCreds ].szCell, pszCell))         break;      }   TCHAR szGateway[cchRESOURCE] = TEXT("");   if (!g.fIsWinNT)      GetGatewayName (szGateway);   if (!szGateway[0])      {      SetDlgItemText (hDlg, IDC_CREDS_CELL, pszCell);      }   else      {      TCHAR szCell[ cchRESOURCE ];      TCHAR szFormat[ cchRESOURCE ];      GetString (szFormat, IDS_CELL_GATEWAY);      wsprintf (szCell, szFormat, pszCell, szGateway);      SetDlgItemText (hDlg, IDC_CREDS_CELL, szCell);      }   if (iCreds == g.cCreds)      {      TCHAR szText[cchRESOURCE];      GetString (szText, IDS_NO_CREDS);      SetDlgItemText (hDlg, IDC_CREDS_INFO, szText);      }   else      {      // FormatString(%t) expects a date in GMT, not the local time zone...      //      FILETIME ftLocal;      SystemTimeToFileTime (&g.aCreds[ iCreds ].stExpires, &ftLocal);      FILETIME ftGMT;      LocalFileTimeToFileTime (&ftLocal, &ftGMT);      SYSTEMTIME stGMT;      FileTimeToSystemTime (&ftGMT, &stGMT);      SYSTEMTIME stNow;      GetLocalTime (&stNow);      FILETIME ftNow;      SystemTimeToFileTime (&stNow, &ftNow);      LONGLONG llNow = (((LONGLONG)ftNow.dwHighDateTime) << 32) + (LONGLONG)(ftNow.dwLowDateTime);      LONGLONG llExpires = (((LONGLONG)ftLocal.dwHighDateTime) << 32) + (LONGLONG)(ftLocal.dwLowDateTime);      llNow /= c100ns1SECOND;      llExpires /= c100ns1SECOND;      LPTSTR pszCreds = NULL;      if (llExpires <= (llNow + (LONGLONG)cminREMIND_WARN * csec1MINUTE))          pszCreds = FormatString (IDS_CREDS_EXPIRED, TEXT("%s"), g.aCreds[ iCreds ].szUser);      if (!pszCreds || !pszCreds[0])          pszCreds = FormatString (IDS_CREDS, TEXT("%s%t"), g.aCreds[ iCreds ].szUser, &stGMT);      SetDlgItemText (hDlg, IDC_CREDS_INFO, pszCreds);      FreeString (pszCreds);      }   lock_ReleaseMutex(&g.credsLock);   CheckDlgButton (hDlg, IDC_CREDS_REMIND, (iCreds == g.cCreds) ? FALSE : g.aCreds[iCreds].fRemind);   EnableWindow (GetDlgItem (hDlg, IDC_CREDS_OBTAIN), IsServiceRunning());   EnableWindow (GetDlgItem (hDlg, IDC_CREDS_REMIND), (iCreds != g.cCreds));   EnableWindow (GetDlgItem (hDlg, IDC_CREDS_DESTROY), (iCreds != g.cCreds));}
开发者ID:sanchit-matta,项目名称:openafs,代码行数:85,


示例16: DefWindowProc

LRESULT CALLBACK Win32Factory::Win32Proc( HWND hwnd, UINT uMsg,                                          WPARAM wParam, LPARAM lParam ){    // Get pointer to thread info: should only work with the parent window    intf_thread_t *p_intf = (intf_thread_t *)GetWindowLongPtr( hwnd,        GWLP_USERDATA );    // If doesn't exist, treat windows message normally    if( p_intf == NULL || p_intf->p_sys->p_osFactory == NULL )    {        return DefWindowProc( hwnd, uMsg, wParam, lParam );    }    Win32Factory *pFactory = (Win32Factory*)Win32Factory::instance( p_intf );    GenericWindow *pWin = pFactory->m_windowMap[hwnd];    if( hwnd == pFactory->getParentWindow() )    {        if( uMsg == WM_SYSCOMMAND )        {            // If closing parent window            if( (wParam & 0xFFF0) == SC_CLOSE )            {                libvlc_Quit( p_intf->p_libvlc );                return 0;            }            else if( (wParam & 0xFFF0) == SC_MINIMIZE )            {                pFactory->minimize();                return 0;            }            else if( (wParam & 0xFFF0) == SC_RESTORE )            {                pFactory->restore();                return 0;            }            else            {                msg_Dbg( p_intf, "WM_SYSCOMMAND %i", (wParam  & 0xFFF0) );            }        }        // Handle systray notifications        else if( uMsg == MY_WM_TRAYACTION )        {            if( (UINT)lParam == WM_LBUTTONDOWN )            {                p_intf->p_sys->p_theme->getWindowManager().raiseAll();                CmdDlgHidePopupMenu aCmdPopup( p_intf );                aCmdPopup.execute();                return 0;            }            else if( (UINT)lParam == WM_RBUTTONDOWN )            {                CmdDlgShowPopupMenu aCmdPopup( p_intf );                aCmdPopup.execute();                return 0;            }            else if( (UINT)lParam == WM_LBUTTONDBLCLK )            {                CmdRestore aCmdRestore( p_intf );                aCmdRestore.execute();                return 0;            }        }    }    else if( pWin )    {        Win32Loop* pLoop =            (Win32Loop*) OSFactory::instance( p_intf )->getOSLoop();        if( pLoop )            return pLoop->processEvent( hwnd, uMsg, wParam, lParam );    }    // If hwnd does not match any window or message not processed    return DefWindowProc( hwnd, uMsg, wParam, lParam );}
开发者ID:RicoP,项目名称:vlcfork,代码行数:76,


示例17: VE_ASSERT

//--------------------------------------------------------------------------bool WindowsVideoDevice::SetupWindowData(VeWindow::Data* pkWindow,	HWND hWnd, VE_BOOL bCreated) noexcept{	VE_ASSERT(pkWindow);	VeWindowData* pkData = VE_NEW VeWindowData;	VE_ASSERT(pkData);	pkData->m_pkWindow = pkWindow;	pkData->m_hWnd = hWnd;	pkData->m_hDc = GetDC(hWnd);	pkData->m_bCreated = bCreated;	pkData->m_u32MouseButtonFlags = 0;	pkWindow->m_spDriverdata = pkData;	if (!SetProp(hWnd, TEXT("VeWindowData"), pkData))	{		ReleaseDC(hWnd, pkData->m_hDc);		pkWindow->m_spDriverdata = nullptr;		pkData = nullptr;		return false;	}	pkData->m_pfuncWndProc = (WNDPROC)GetWindowLongPtr(hWnd, GWLP_WNDPROC);	if (pkData->m_pfuncWndProc == WindowProc)	{		pkData->m_pfuncWndProc = nullptr;	}	else	{		SetWindowLongPtr(hWnd, GWLP_WNDPROC, (LONG_PTR)WindowProc);	}	{		RECT rect;		if (GetClientRect(hWnd, &rect))		{			VeInt32 w = rect.right;			VeInt32 h = rect.bottom;			if ((pkWindow->w && pkWindow->w != w) || (pkWindow->h && pkWindow->h != h))			{				SetWindowPositionInternal(pkWindow,					SWP_NOCOPYBITS | SWP_NOZORDER | SWP_NOACTIVATE);			}			else			{				pkWindow->w = w;				pkWindow->h = h;			}		}	}	{		POINT point;		point.x = 0;		point.y = 0;		if (ClientToScreen(hWnd, &point))		{			pkWindow->x = point.x;			pkWindow->y = point.y;		}	}	{		DWORD style = GetWindowLong(hWnd, GWL_STYLE);		if (style & WS_VISIBLE)		{			pkWindow->m_u32Flags |= VE_WINDOW_SHOWN;		}		else		{			pkWindow->m_u32Flags &= ~VE_WINDOW_SHOWN;		}		if (style & (WS_BORDER | WS_THICKFRAME))		{			pkWindow->m_u32Flags &= ~VE_WINDOW_BORDERLESS;		}		else		{			pkWindow->m_u32Flags |= VE_WINDOW_BORDERLESS;		}		if (style & WS_THICKFRAME)		{			pkWindow->m_u32Flags |= VE_WINDOW_RESIZABLE;		}		else		{			pkWindow->m_u32Flags &= ~VE_WINDOW_RESIZABLE;		}#		ifdef WS_MAXIMIZE		if (style & WS_MAXIMIZE)		{			pkWindow->m_u32Flags |= VE_WINDOW_MAXIMIZED;		}		else#		endif		{			pkWindow->m_u32Flags &= ~VE_WINDOW_MAXIMIZED;		}#		ifdef WS_MINIMIZE		if (style & WS_MINIMIZE)//.........这里部分代码省略.........
开发者ID:swq0553,项目名称:Venus3D,代码行数:101,


示例18: guiSubclassWindow

void guiSubclassWindow(HWND hwnd, WNDPROC newproc) {	SetWindowLongPtr(hwnd, GWLP_USERDATA, GetWindowLongPtr(hwnd, GWLP_WNDPROC));	SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LPARAM)newproc);}
开发者ID:fishman,项目名称:virtualdub,代码行数:4,


示例19: ColorControlProc

LRESULT WINAPI ColorControlProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){    CCStruct *pCCData;    switch(message)    {        case WM_NCCREATE:            {                CREATESTRUCT *pCreateData = (CREATESTRUCT*)lParam;                //add custom data to window                pCCData = (CCStruct*)malloc(sizeof(CCStruct));                zero(pCCData, sizeof(CCStruct));                SetWindowLongPtr(hwnd, 0, (LONG_PTR)pCCData);                pCCData->structSize = sizeof(CCStruct);                pCCData->curColor = 0xFFFFFF;                pCCData->bDisabled = ((pCreateData->style & WS_DISABLED) != 0);                pCCData->cx = pCreateData->cx;                pCCData->cy = pCreateData->cy;                for(int i=0; i<16; i++) pCCData->custColors[i] = 0xC0C0C0;                return TRUE;            }        case WM_DESTROY:            {                pCCData = (CCStruct*)GetWindowLongPtr(hwnd, 0);                if(pCCData)                    free(pCCData);                break;            }        case WM_PAINT:            {                pCCData = (CCStruct*)GetWindowLongPtr(hwnd, 0);                PAINTSTRUCT ps;                HDC hDC = BeginPaint(hwnd, &ps);                DrawColorControl(hDC, pCCData);                EndPaint(hwnd, &ps);                break;            }        case WM_ENABLE:            {                pCCData = (CCStruct*)GetWindowLongPtr(hwnd, 0);                pCCData->bDisabled = !wParam;                //redraw control                HDC hDC = GetDC(hwnd);                DrawColorControl(hDC, pCCData);                ReleaseDC(hwnd, hDC);                break;            }        case WM_LBUTTONDBLCLK:            {                pCCData = (CCStruct*)GetWindowLongPtr(hwnd, 0);                if(pCCData->bDisabled)                    break;                CHOOSECOLOR chooserData;                zero(&chooserData, sizeof(chooserData));                chooserData.lStructSize = sizeof(chooserData);                chooserData.hwndOwner = GetParent(hwnd);                chooserData.Flags = CC_RGBINIT | CC_FULLOPEN;                chooserData.rgbResult = pCCData->curColor;                chooserData.lpCustColors = pCCData->custColors;                if(ChooseColor(&chooserData))                {                    pCCData->curColor = chooserData.rgbResult;                    HDC hDC = GetDC(hwnd);                    DrawColorControl(hDC, pCCData);                    ReleaseDC(hwnd, hDC);                    HWND hwndParent = GetParent(hwnd);                    DWORD controlID = (DWORD)GetWindowLongPtr(hwnd, GWLP_ID);                    SendMessage(hwndParent, WM_COMMAND, MAKEWPARAM(controlID, CCN_CHANGED), (LPARAM)hwnd);                }                break;            }        default:            return DefWindowProc(hwnd, message, wParam, lParam);    }//.........这里部分代码省略.........
开发者ID:AaronMike,项目名称:OBS,代码行数:101,


示例20: switch

INT_PTR CALLBACK CConfig::NotificationsDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam){	char buf[128];	switch (uMsg) {	case WM_INITDIALOG:		{			m_bInitializingDialog = true;			// Translate the dialog			TranslateDialogDefault(hwndDlg);			// Initialize the protocol filter list			SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_PROTOCOLS), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_PROTOCOLS), GWL_STYLE) | TVS_NOHSCROLL);			int iRes = 0;			HIMAGELIST himlCheckBoxes;			himlCheckBoxes = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2);			iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_NOTICK)));			iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TICK)));			TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_PROTOCOLS), himlCheckBoxes, TVSIL_NORMAL);			FillTree(GetDlgItem(hwndDlg, IDC_PROTOCOLS));			CheckDlgButton(hwndDlg, IDC_NOTIFY_TIMESTAMPS, m_abBoolSettings[NOTIFY_TIMESTAMPS] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_SHOWPROTO, m_abBoolSettings[NOTIFY_SHOWPROTO] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF, m_abBoolSettings[NOTIFY_CHANNELCUTOFF] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_NICKCUTOFF, m_abBoolSettings[NOTIFY_NICKCUTOFF] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_MESSAGES, m_abBoolSettings[NOTIFY_IRC_MESSAGES] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_USERS, m_abBoolSettings[NOTIFY_IRC_USERS] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_EMOTES, m_abBoolSettings[NOTIFY_IRC_EMOTES] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_NOTICES, m_abBoolSettings[NOTIFY_IRC_NOTICES] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_CHANNEL, m_abBoolSettings[NOTIFY_IRC_CHANNEL] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_STATUS, m_abBoolSettings[NOTIFY_IRC_STATUS] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_STATUS, m_abBoolSettings[NOTIFY_PROTO_STATUS] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNON, m_abBoolSettings[NOTIFY_PROTO_SIGNON] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNOFF, m_abBoolSettings[NOTIFY_PROTO_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNON, m_abBoolSettings[NOTIFY_SIGNON] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNOFF, m_abBoolSettings[NOTIFY_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_STATUS, m_abBoolSettings[NOTIFY_STATUS] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_MESSAGES, m_abBoolSettings[NOTIFY_MESSAGES] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_FILE, m_abBoolSettings[NOTIFY_FILE] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_CONTACTS, m_abBoolSettings[NOTIFY_CONTACTS] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_URL, m_abBoolSettings[NOTIFY_URL] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_NO_SKIP_REPLY, m_abBoolSettings[NOTIFY_NO_SKIP_REPLY] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNON, m_abBoolSettings[NOTIFY_SKIP_SIGNON] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNOFF, m_abBoolSettings[NOTIFY_SKIP_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_STATUS, m_abBoolSettings[NOTIFY_SKIP_STATUS] ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_MESSAGES, m_abBoolSettings[NOTIFY_SKIP_MESSAGES] ? BST_CHECKED : BST_UNCHECKED);			_itoa_s(m_aiIntSettings[NOTIFY_CHANNELCUTOFF_OFFSET], buf, _countof(buf), 10);			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF_OFFSET, buf);			_itoa_s(m_aiIntSettings[NOTIFY_NICKCUTOFF_OFFSET], buf, _countof(buf), 10);			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_NICKCUTOFF_OFFSET, buf);			_itoa_s(m_aiIntSettings[NOTIFY_LOGSIZE], buf, _countof(buf), 10);			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_LOGSIZE, buf);			_itoa_s(m_aiIntSettings[NOTIFY_DURATION], buf, _countof(buf), 10);			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_DURATION, buf);			CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEHIDE, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_HIDE ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLENAME, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_NAME ? BST_CHECKED : BST_UNCHECKED);			CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEINFO, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_INFO ? BST_CHECKED : BST_UNCHECKED);			m_bInitializingDialog = false;			break;		}	case WM_NOTIFY:		{			if (((LPNMHDR)lParam)->idFrom == IDC_PROTOCOLS) {				if (((LPNMHDR)lParam)->code != NM_CLICK)					return 0;				TVHITTESTINFO hti;				hti.pt.x = (short)LOWORD(GetMessagePos());				hti.pt.y = (short)HIWORD(GetMessagePos());				ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt);				if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti))					if (hti.flags&TVHT_ONITEMICON) {						TVITEM tvi;						tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;						tvi.hItem = hti.hItem;						TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);						tvi.iImage = tvi.iSelectedImage = !tvi.iImage;						((CProtoFilter *)tvi.lParam)->bTempNotificationFilter = tvi.iImage != 0;						TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);						SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);					}				break;			}			switch (((LPNMHDR)lParam)->code) {			case PSN_APPLY:				{					m_abBoolSettings[NOTIFY_TIMESTAMPS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_TIMESTAMPS) == BST_CHECKED ? true : false;//.........这里部分代码省略.........
开发者ID:Seldom,项目名称:miranda-ng,代码行数:101,


示例21: Aggregates_SubclassList

void Aggregates_SubclassList (HWND hDlg){    HWND hList = GetDlgItem (hDlg, IDC_AGG_LIST);    procAggregatesList = GetWindowLongPtr (hList, GWLP_WNDPROC);    SetWindowLongPtr (hList, GWLP_WNDPROC, (LONG_PTR)Aggregates_SubclassListProc);}
开发者ID:haught,项目名称:openafs,代码行数:6,


示例22: WinMain

int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst, LPSTR lpszCmdLine, int nCmdShow) {	openConsoleWindow();	HINSTANCE hinst = hCurrentInst;  	registerWindowsClass(hinst);	setupApplication();	double avg_frame_time = 0.0;	double next_frame_time=-1.0, last_frame_time=0.0;	int frame_num = 0;	::ShowWindow( hwnd, SW_SHOW );	::SetForegroundWindow( hwnd );	::SetFocus( hwnd );	// do the draw/update/event loop	MSG msg;	bool quit = false;	while(!quit) {		if( ::PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) {			if(msg.message == WM_QUIT) {				cleanupApplication();				poWindow *win = (poWindow*)GetWindowLongPtr(hwnd,GWL_USERDATA);				delete win;				cleanupWindow();				break;			}			::TranslateMessage( &msg );			::DispatchMessage( &msg ); 		}		double now = getTiming();		if(now >= next_frame_time) {			next_frame_time = now + 1.0 / 60.0;			double dt = now - last_frame_time;			poWindow *win = (poWindow*)GetWindowLongPtr(hwnd,GWL_USERDATA);			if(win) {				win->makeCurrent();				win->update();				win->draw();			}			SwapBuffers(dc);			frame_num++;			last_frame_time = now;		}		else {			Sleep(1);		}	}	cleanupWindow();		#if defined WIN32 && defined _DEBUG		//_CrtDumpMemoryLeaks();	#endif		return msg.wParam;}
开发者ID:Potion,项目名称:pocode,代码行数:65,


示例23: PBSettings_OnCommand

//WM_COMMANDvoid PBSettings_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify){	(void) hwndCtl; //To avoid the warning	//Get the PBSDP	PenBrushSettingsDlgParam * pbsdp=(PenBrushSettingsDlgParam *)(LONG_PTR)GetWindowLongPtr(hwnd,GWLP_USERDATA);	if(pbsdp==NULL)		return;	switch(id)	{	case IDOK: //OK button		if(codeNotify==BN_CLICKED)		{			fgColor=pbsdp->workingFG;			bgColor=pbsdp->workingBG;		}		//Note: no break	case IDCANCEL: //Cancel button		if(codeNotify==BN_CLICKED)			EndDialog(hwnd,id);		break; //case IDCANCEL: (and IDOK:)	case IDC_PB_B_COLOR: //Click on the color pane: ask the user a new color and update the preview and the color pane		if(codeNotify==BN_CLICKED)		{			pbsdp->GetCurrentCU().SetColor(GetColor(hwnd,pbsdp->GetCurrentCU().GetColor(),dsUpdater->GetDibSection()));			InvalidateRect(GetDlgItem(hwnd,IDC_PB_B_COLOR),NULL,FALSE);			UpdatePreviewPane(hwnd);		}		break; //case IDC_PB_B_COLOR:	case IDC_PB_H_COLORP: //Click on the hatch color pane: ask the user a new color and update the preview and the hatch color pane		if(codeNotify==BN_CLICKED)		{			pbsdp->workingBG.GetRefACUPs().bgColor=pbsdp->workingFG.GetRefACUPs().bgColor=GetColor(hwnd,pbsdp->workingBG.GetRefACUPs().bgColor,dsUpdater->GetDibSection());			InvalidateRect(GetDlgItem(hwnd,IDC_PB_H_COLORP),NULL,FALSE);			UpdatePreviewPane(hwnd);		}		break; //case IDC_PB_H_COLORP:	case IDC_PB_H_COLOR: //Click on the transparent/opaque secondary hatch color radio buttons	case IDC_PB_H_TRANSPARENT:		if(codeNotify==BN_CLICKED)		{			//Update the ColorUtils			CommonControls2ColorUtils(hwnd);			//Update the preview pane			UpdatePreviewPane(hwnd);		}		break; //case IDC_PB_H_COLOR: / IDC_PB_H_TRANSPARENT:	case IDC_PB_PREVIEW: //Click on the preview pane		if(codeNotify==BN_CLICKED)		{			pbsdp->swappedColors=!pbsdp->swappedColors;			//Update the preview pane			UpdatePreviewPane(hwnd);		}		break; //case IDC_PB_PREVIEW:	case IDC_PB_TX_WIDTH:		if(codeNotify==EN_CHANGE)		{			static UINT lastVal=pbsdp->workingFG.GetPenWidth();			if(ValidateUIntFieldChange(hwnd,(WORD)id,lastVal,MINPENWIDTH,MAXPENWIDTH))			{				//Update the ColorUtils				CommonControls2ColorUtils(hwnd);				//Update the preview pane				UpdatePreviewPane(hwnd);			}		}	default: //Others		//Brush radiobuttons: update the ColorUtils and the preview pane		if(			BETWEEN(id,IDC_PB_B_SOLID,IDC_PB_B_HDI) &&			codeNotify == BN_CLICKED			)		{			pbsdp->GetCurrentCU().SetBrushSettings(BrushFromCtrls(hwnd,pbsdp->GetCurrentCU().GetColor()));			UpdatePreviewPane(hwnd);			break;		}		//Pen radiobuttons: update the ColorUtils and the preview pane		else if(			BETWEEN(id,IDC_PB_P_SOLID,IDC_PB_P_CUSTOM) ||			BETWEEN(id,IDC_PB_P_END_ROUND,IDC_PB_P_END_FLAT) ||			BETWEEN(id,IDC_PB_P_LJ_ROUND,IDC_PB_P_LJ_MITER) ||			id==IDC_PB_P_TX_CUSTOM && codeNotify == EN_CHANGE			)		{			nEXTLOGPEN lp=PenFromCtrls(hwnd,pbsdp->GetCurrentCU().GetPenWidth());			if(id == IDC_PB_P_CUSTOM)			{				EnableWindow(GetDlgItem(hwnd,IDC_PB_P_TX_CUSTOM),TRUE);				ShowWindow(GetDlgItem(hwnd,IDC_PB_P_IS_CUSTOM),SW_SHOWNA);			}			else if(BETWEEN(id,IDC_PB_P_SOLID,IDC_PB_P_DASHDOTDOT))			{				EnableWindow(GetDlgItem(hwnd,IDC_PB_P_TX_CUSTOM),FALSE);				ShowWindow(GetDlgItem(hwnd,IDC_PB_P_IS_CUSTOM),SW_HIDE);			}			pbsdp->GetCurrentCU().SetPenSettings(lp);			if(((lp.dwPenStyle&PS_STYLE_MASK)==PS_USERSTYLE)&&lp.lpStyle!=NULL)				delete[] lp.lpStyle;//.........这里部分代码省略.........
开发者ID:RandallFlagg,项目名称:irfanpaint,代码行数:101,


示例24: StartRecDlgProc

/* Property page dialog callback */INT_PTR CALLBACKStartRecDlgProc(HWND hwndDlg,                UINT uMsg,                WPARAM wParam,                LPARAM lParam){    PSTARTINFO pStartInfo;    PBOOTRECORD pRecord;    int iTimeout;    LRESULT lResult;    WCHAR szTimeout[10];    UNREFERENCED_PARAMETER(lParam);    pStartInfo = (PSTARTINFO)GetWindowLongPtr(hwndDlg, DWLP_USER);    switch(uMsg)    {    case WM_INITDIALOG:        pStartInfo = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(STARTINFO));        SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pStartInfo);        LoadRecoveryOptions(hwndDlg, pStartInfo);        SetRecoveryTimeout(hwndDlg, 0);        return LoadOSList(hwndDlg, pStartInfo);    case WM_DESTROY:        DeleteBootRecords(hwndDlg);        HeapFree(GetProcessHeap(), 0, pStartInfo);        break;    case WM_COMMAND:        switch(LOWORD(wParam))        {        case IDC_STRRECEDIT:            ShellExecuteW(0, L"open", L"notepad", pStartInfo->szFreeldrIni, NULL, SW_SHOWNORMAL);            // FIXME: Use CreateProcess and wait untill finished            //  DeleteBootRecords(hwndDlg);            //  LoadOSList(hwndDlg);            break;        case IDOK:            /* Save timeout */            if (SendDlgItemMessage(hwndDlg, IDC_STRECLIST, BM_GETCHECK, (WPARAM)0, (LPARAM)0) == BST_CHECKED)                iTimeout = SendDlgItemMessage(hwndDlg, IDC_STRRECLISTUPDWN, UDM_GETPOS, (WPARAM)0, (LPARAM)0);            else                iTimeout = 0;            swprintf(szTimeout, L"%i", iTimeout);            lResult = SendDlgItemMessageW(hwndDlg, IDC_STRECOSCOMBO, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);            if (lResult == CB_ERR)            {                /* ? */                DeleteBootRecords(hwndDlg);                return TRUE;            }            pRecord = (PBOOTRECORD) SendDlgItemMessage(hwndDlg, IDC_STRECOSCOMBO, CB_GETITEMDATA, (WPARAM)lResult, (LPARAM)0);            if ((INT_PTR)pRecord != CB_ERR)            {                if (pStartInfo->iFreeLdrIni == 1) // FreeLdrIni style                {                    /* Set default timeout */                    WritePrivateProfileStringW(L"FREELOADER",                                               L"TimeOut",                                               szTimeout,                                               pStartInfo->szFreeldrIni);                    /* Set default OS */                    WritePrivateProfileStringW(L"FREELOADER",                                               L"DefaultOS",                                               pRecord->szSectionName,                                               pStartInfo->szFreeldrIni);                }                else if (pStartInfo->iFreeLdrIni == 2) // BootIni style                {                    /* Set default timeout */                    WritePrivateProfileStringW(L"boot loader",                                               L"timeout",                                               szTimeout,                                               pStartInfo->szFreeldrIni);                    /* Set default OS */                    WritePrivateProfileStringW(L"boot loader",                                               L"default",                                               pRecord->szBootPath,                                               pStartInfo->szFreeldrIni);                }            }            if (SaveRecoveryOptions)            {                WriteStartupRecoveryOptions(hwndDlg, pStartInfo);            }            EndDialog(hwndDlg,                      LOWORD(wParam));            return TRUE;//.........这里部分代码省略.........
开发者ID:Strongc,项目名称:reactos,代码行数:101,


示例25: DlgProc_Browse

HRESULT CALLBACK DlgProc_Browse (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp){   BROWSEDIALOGPARAMS *pbdp;   if (AfsAppLib_HandleHelp (IDD_APPLIB_BROWSE, hDlg, msg, wp, lp))   {      return FALSE;   }   if (msg == WM_INITDIALOG)   {      SetWindowLongPtr (hDlg, DWLP_USER, lp);   }   if ((pbdp = (BROWSEDIALOGPARAMS *)GetWindowLongPtr (hDlg, DWLP_USER)) != NULL)   {      switch (msg)      {         case WM_INITDIALOG:            DlgProc_Browse_OnInitDialog (hDlg, pbdp);            break;         case WM_NOTIFY:            switch (((LPNMHDR)lp)->code)            {               case LVN_ITEMCHANGED:                  if ( ((LPNM_LISTVIEW)lp)->uNewState & LVIS_SELECTED )                  {                     DlgProc_Browse_SelectedEntry (hDlg, pbdp);                  }                  break;               case NM_DBLCLK:                  PostMessage (hDlg, WM_COMMAND, MAKELONG(IDC_BROWSE_SELECT,BN_CLICKED), (LPARAM)GetDlgItem(hDlg,IDC_BROWSE_SELECT));                  break;            }            break;         case WM_DESTROY:            DlgProc_Browse_StopSearch (pbdp);            if (pbdp->hImages != NULL)            {               ListView_SetImageList (GetDlgItem (hDlg, IDC_BROWSE_LIST), 0, 0);               ImageList_Destroy (pbdp->hImages);            }            break;         case WM_FOUNDNAME:         {            LPTSTR pszName = (LPTSTR)lp;            if (pszName != NULL)            {               HWND hList = GetDlgItem (hDlg, IDC_BROWSE_LIST);               LV_AddItem (hList, 1, INDEX_SORT, 0, 0, pszName);               FreeString (pszName);            }            break;         }         case WM_THREADSTART:         {            TCHAR szText[ cchRESOURCE ];            GetString (szText, IDS_BROWSE_WAITING);            SetDlgItemText (pbdp->hDlg, IDC_BROWSE_STATUS, szText);            break;         }         case WM_THREADDONE:         {            SetDlgItemText (pbdp->hDlg, IDC_BROWSE_STATUS, TEXT(""));            break;         }         case WM_COMMAND:            switch (LOWORD(wp))            {               case IDCANCEL:                  EndDialog (hDlg, LOWORD(wp));                  break;               case IDC_BROWSE_SELECT:                  if ( (GetDlgItem (pbdp->hDlg, IDC_BROWSE_NONE) != NULL) &&                       (IsDlgButtonChecked (pbdp->hDlg, IDC_BROWSE_NONE)) )                  {                     pbdp->szCell[0] = TEXT('/0');                     pbdp->szNamed[0] = TEXT('/0');                  }                  else                  {                     GetDlgItemText (hDlg, IDC_BROWSE_CELL,  pbdp->szCell,  cchNAME);                     GetDlgItemText (hDlg, IDC_BROWSE_NAMED, pbdp->szNamed, cchRESOURCE);                  }                  EndDialog (hDlg, IDOK);                  break;               case IDC_BROWSE_CELL:                  if (HIWORD(wp) == CBN_SELCHANGE)                  {                     GetDlgItemText (hDlg, IDC_BROWSE_CELL, pbdp->szCell, cchNAME);//.........这里部分代码省略.........
开发者ID:chanke,项目名称:openafs-osd,代码行数:101,


示例26: DefInpProc

static INT_PTR CALLBACK DefInpProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam){	switch (Msg) {		case WM_INITDIALOG: {			hIpsDlg = hDlg;						hWhiteBGBrush = CreateSolidBrush(RGB(0xFF,0xFF,0xFF));			hPreview = PNGLoadBitmap(hIpsDlg, NULL, 304, 228, 2);			SendDlgItemMessage(hIpsDlg, IDC_SCREENSHOT_H, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hPreview);						LONG_PTR Style;			Style = GetWindowLongPtr (GetDlgItem(hIpsDlg, IDC_TREE1), GWL_STYLE);			Style |= TVS_CHECKBOXES;			SetWindowLongPtr (GetDlgItem(hIpsDlg, IDC_TREE1), GWL_STYLE, Style);					IpsManagerInit();			WndInMid(hDlg, hScrnWnd);			SetFocus(hDlg);											// Enable Esc=close			break;		}				case WM_COMMAND: {			int wID = LOWORD(wParam);			int Notify = HIWORD(wParam);									if (Notify == BN_CLICKED) {				switch (wID) {					case IDOK: {						IpsOkay();						break;					}									case IDCANCEL: {						SendMessage(hDlg, WM_CLOSE, 0, 0);						return 0;					}										case IDC_IPSMAN_DESELECTALL: {						for (int i = 0; i < nNumPatches; i++) {							for (int j = 0; j < nNumPatches; j++) {								_TreeView_SetCheckState(hIpsList, hPatchHandlesIndex[j], FALSE);							}						}						break;					}				}			}						if (wID == IDC_CHOOSE_LIST && Notify == CBN_SELCHANGE) {				nIpsSelectedLanguage = SendMessage(GetDlgItem(hIpsDlg, IDC_CHOOSE_LIST), CB_GETCURSEL, 0, 0);				TreeView_DeleteAllItems(hIpsList);				FillListBox();				RefreshPatch();				return 0;			}						break;		}				case WM_NOTIFY: {			NMHDR* pNmHdr = (NMHDR*)lParam;						if (LOWORD(wParam) == IDC_TREE1 && pNmHdr->code == TVN_SELCHANGED) {				RefreshPatch();								return 1;			}						if (LOWORD(wParam) == IDC_TREE1 && pNmHdr->code == NM_DBLCLK) {				// disable double-click node-expand				SetWindowLongPtr(hIpsDlg, DWLP_MSGRESULT, 1);				return 1;			}						if (LOWORD(wParam) == IDC_TREE1 && pNmHdr->code == NM_CLICK) {				POINT cursorPos;				GetCursorPos(&cursorPos);				ScreenToClient(hIpsList, &cursorPos);				TVHITTESTINFO thi;				thi.pt = cursorPos;				TreeView_HitTest(hIpsList, &thi);				if (thi.flags == TVHT_ONITEMSTATEICON) {					TreeView_SelectItem(hIpsList, thi.hItem);				}							return 1;			}			SetWindowLongPtr(hIpsDlg, DWLP_MSGRESULT, CDRF_DODEFAULT);			return 1;		}			case WM_CTLCOLORSTATIC: {			if ((HWND)lParam == GetDlgItem(hIpsDlg, IDC_TEXTCOMMENT)) {				return (INT_PTR)hWhiteBGBrush;			}//.........这里部分代码省略.........
开发者ID:tigerking,项目名称:FB-Alpha,代码行数:101,



注:本文中的GetWindowLongPtr函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetWindowLongPtrW函数代码示例
C++ GetWindowLong函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。