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

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

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

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

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

示例1: DlgProcPageLay

LRESULT CALLBACK DlgProcPageLay(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){	if (CommonDlgPageProcess(hwnd, msg, wParam, lParam))	{		return TRUE;	}	if (msg == WM_INITDIALOG)	{		KeyToDlg(HotKey_ChangeLayoutCycle, IDC_EDIT_K1, hwnd);		KeyToDlg(HotKey_ChangeSetLayout_1, IDC_EDIT_K2, hwnd);		KeyToDlg(HotKey_ChangeSetLayout_2, IDC_EDIT_K3, hwnd);		KeyToDlg(HotKey_ChangeSetLayout_3, IDC_EDIT_K4, hwnd);		FillLayList();		FillCombo(hwnd, IDC_COMBO_K2, SettingsGui::SW_HKL_1);		FillCombo(hwnd, IDC_COMBO_K3, SettingsGui::SW_HKL_2);		FillCombo(hwnd, IDC_COMBO_K4, SettingsGui::SW_HKL_3);		return FALSE;	}	else if (msg == WM_CTLCOLORSTATIC)	{		int id = GetDlgCtrlID((HWND)lParam);		if (id == IDC_EDIT_K1 || id == IDC_EDIT_K2 || id == IDC_EDIT_K3 || id == IDC_EDIT_K4)			return HandleCtlColor(hwnd, lParam, wParam);		return TRUE;	}	else if (msg == WM_COMMAND)	{		if (HIWORD(wParam) == CBN_SELCHANGE)		{			int id = LOWORD(wParam);			ComboChanged(hwnd, id);		}		else if (LOWORD(wParam) == IDC_BUTTON_K1)		{			ChangeHotKey(HotKey_ChangeLayoutCycle, IDC_EDIT_K1, hwnd);			return TRUE;		}		else if (LOWORD(wParam) == IDC_BUTTON_K2)		{			if(ChangeHotKey(HotKey_ChangeSetLayout_1, IDC_EDIT_K2, hwnd))			{				ComboChanged(hwnd, IDC_COMBO_K2);			}			return TRUE;		}		else if (LOWORD(wParam) == IDC_BUTTON_K3)		{			if(ChangeHotKey(HotKey_ChangeSetLayout_2, IDC_EDIT_K3, hwnd))			{				ComboChanged(hwnd, IDC_COMBO_K3);			}			return TRUE;		}		else if (LOWORD(wParam) == IDC_BUTTON_K4)		{			if(ChangeHotKey(HotKey_ChangeSetLayout_3, IDC_EDIT_K4, hwnd))			{				ComboChanged(hwnd, IDC_COMBO_K4);			}			return TRUE;		}	}	return FALSE;}
开发者ID:TkachenkoArtem,项目名称:SimpleSwitcher,代码行数:67,


示例2: ContactListControlWndProc

LRESULT CALLBACK ContactListControlWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){	ClcData *dat = (ClcData*)GetWindowLongPtr(hwnd, 0);	RECT r;	switch (msg) {	case WM_CREATE:		dat = (ClcData*)mir_calloc( sizeof(ClcData));		SetWindowLongPtr(hwnd, 0, (LONG_PTR) dat);		dat->hwnd_list = CreateWindow(_T("LISTBOX"), _T(""),			(WS_VISIBLE | WS_CHILD | LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | LBS_WANTKEYBOARDINPUT | WS_VSCROLL),			0, 0, 0, 0, hwnd, NULL, g_hInst,0);		dat->need_rebuild = FALSE;		GetClientRect(hwnd, &r);		SetWindowPos(dat->hwnd_list, 0, r.left, r.top, r.right - r.left, r.bottom - r.top, SWP_NOZORDER | SWP_NOACTIVATE);		break;	case WM_SIZE:		GetClientRect(hwnd, &r);		SetWindowPos(dat->hwnd_list, 0, r.left, r.top, r.right - r.left, r.bottom - r.top, SWP_NOZORDER | SWP_NOACTIVATE);		break;	case WM_PRINTCLIENT:	case WM_PAINT:		if (dat->need_rebuild)			RebuildEntireListInternal(hwnd, (ClcData*)dat, FALSE);		// no break	case WM_VSCROLL:	case WM_MOUSEWHEEL:	case WM_KEYDOWN:		return DefWindowProc(hwnd, msg, wParam, lParam);	case INTM_SCROLLBARCHANGED:		return TRUE;	case WM_VKEYTOITEM:		{			int key = LOWORD(wParam);			if (key == VK_LEFT || key == VK_RIGHT || key == VK_RETURN || key == VK_DELETE || key == VK_F2) {				coreCli.pfnContactListControlWndProc(hwnd, WM_KEYDOWN, key, 0);				return dat->selection;			}			NMKEY nmkey;			nmkey.hdr.hwndFrom = hwnd;			nmkey.hdr.idFrom = GetDlgCtrlID(hwnd);			nmkey.hdr.code = NM_KEYDOWN;			nmkey.nVKey = key;			nmkey.uFlags = 0;			if ( SendMessage(GetParent(hwnd), WM_NOTIFY, 0, (LPARAM) & nmkey))				return -2;		}		return -1;	case WM_COMMAND:		if ((HANDLE) lParam != dat->hwnd_list || HIWORD(wParam) != LBN_SELCHANGE)			break;		dat->selection = SendMessage(dat->hwnd_list, LB_GETCURSEL, 0, 0);		KillTimer(hwnd, TIMERID_INFOTIP);		KillTimer(hwnd, TIMERID_RENAME);		dat->szQuickSearch[0] = 0;		pcli->pfnInvalidateRect(hwnd, NULL, FALSE);		pcli->pfnEnsureVisible(hwnd, (ClcData*)dat, dat->selection, 0);		UpdateWindow(hwnd);		break;	case WM_SETFOCUS:	case WM_ENABLE:		SetFocus(dat->hwnd_list);		break;	}	return coreCli.pfnContactListControlWndProc(hwnd, msg, wParam, lParam);}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:78,


示例3: resize_template_hook

static LONG_PTR WINAPI resize_template_hook(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam){    static RECT initrc, rc;    static int index, count;    static int gotSWP_bottom, gotShowWindow;    HWND parent = GetParent( dlg);    int resize;#define MAXNRCTRLS 30    static RECT ctrlrcs[MAXNRCTRLS];    static int ctrlids[MAXNRCTRLS];    static HWND ctrls[MAXNRCTRLS];    static int nrctrls;    switch( msg)    {        case WM_INITDIALOG:        {            DWORD style;            index = ((OPENFILENAME*)lParam)->lCustData;            count = 0;            gotSWP_bottom = gotShowWindow = 0;            /* test style */            style = GetWindowLong( parent, GWL_STYLE);            if( resize_testcases[index].flags & OFN_ENABLESIZING)                if( !(style & WS_SIZEBOX)) {                    win_skip( "OFN_ENABLESIZING flag not supported./n");                    resizesupported = FALSE;                    PostMessage( parent, WM_COMMAND, IDCANCEL, 0);                } else                    ok( style & WS_SIZEBOX,                            "testid %d: dialog should have a WS_SIZEBOX style./n", index);            else                ok( !(style & WS_SIZEBOX),                        "testid %d: dialog should not have a WS_SIZEBOX style./n", index);            break;        }        case WM_NOTIFY:        {            if(( (LPNMHDR)lParam)->code == CDN_FOLDERCHANGE){                GetWindowRect( parent, &initrc);                if( (resize  = resize_testcases[index].resize_folderchange)){                    MoveWindow( parent, initrc.left,initrc.top, initrc.right - initrc.left + resize,                            initrc.bottom - initrc.top + resize, TRUE);                }                SetTimer( dlg, 0, 100, 0);            }            break;        }        case WM_TIMER:        {            if( count == 0){                /* store the control rectangles */                if( resize_testcases[index].testcontrols) {                    HWND ctrl;                    int i;                    for( i = 0, ctrl = GetWindow( parent, GW_CHILD);                            i < MAXNRCTRLS && ctrl;                            i++, ctrl = GetWindow( ctrl, GW_HWNDNEXT)) {                        ctrlids[i] = GetDlgCtrlID( ctrl);                        GetWindowRect( ctrl, &ctrlrcs[i]);                        MapWindowPoints( NULL, parent, (LPPOINT) &ctrlrcs[i], 2);                        ctrls[i] = ctrl;                    }                    nrctrls = i;                }                if( (resize  = resize_testcases[index].resize_timer1)){                    GetWindowRect( parent, &rc);                    MoveWindow( parent, rc.left,rc.top, rc.right - rc.left + resize,                            rc.bottom - rc.top + resize, TRUE);                }            } else if( count == 1){                resize  = resize_testcases[index].resize_check;                GetWindowRect( parent, &rc);                if( resize_testcases[index].todo){                    todo_wine {                        ok( resize == rc.right - rc.left - initrc.right + initrc.left,                            "testid %d size-x change %d expected %d/n", index,                            rc.right - rc.left - initrc.right + initrc.left, resize);                        ok( resize == rc.bottom - rc.top - initrc.bottom + initrc.top,                            "testid %d size-y change %d expected %d/n", index,                            rc.bottom - rc.top - initrc.bottom + initrc.top, resize);                    }                }else{                    ok( resize == rc.right - rc.left - initrc.right + initrc.left,                        "testid %d size-x change %d expected %d/n", index,                        rc.right - rc.left - initrc.right + initrc.left, resize);                    ok( resize == rc.bottom - rc.top - initrc.bottom + initrc.top,                        "testid %d size-y change %d expected %d/n", index,                        rc.bottom - rc.top - initrc.bottom + initrc.top, resize);                }                if( resize_testcases[index].testcontrols) {                    int i;                    RECT rc;                    for( i = 0; i < nrctrls; i++) {                        GetWindowRect( ctrls[i], &rc);                        MapWindowPoints( NULL, parent, (LPPOINT) &rc, 2);                        switch( ctrlids[i]){/* test if RECT R1, moved and sized result in R2 *///.........这里部分代码省略.........
开发者ID:bpowers,项目名称:wine,代码行数:101,


示例4: ASSERT

void CACEdit::OnChange(){    CString m_Text;    int pos=0,len;    if(m_iType == -1)    {        ASSERT(0);        return;    }    GetWindowText(m_EditText);    len = m_EditText.GetLength();    //----------------------------------------------    if(m_iMode & _MODE_FILESYSTEM_ || m_iMode & _MODE_FS_START_DIR_)    {        if(!m_CursorMode)        {            if(m_iType == _EDIT_)                pos = LOWORD(((CEdit*)this)->CharFromPos(GetCaretPos()));            if(m_iType == _COMBOBOX_)                pos = m_pEdit->CharFromPos(m_pEdit->GetCaretPos());            if(m_iMode & _MODE_FS_START_DIR_)            {                if(len)                    m_Liste.FindString(-1,m_EditText);                else                    m_Liste.ShowWindow(false);            }            else            {                if(len > 2 && pos == len)                {                    if(_taccess(m_EditText,0) == 0)                    {                        ReadDirectory(m_EditText);                    }                    m_Liste.FindString(-1,m_EditText);                }                else                    m_Liste.ShowWindow(false);            }        } // m_CursorMode    }    //----------------------------------------------    if(m_iMode & _MODE_SEPARATION_)    {        if(!m_CursorMode)        {            if(m_iType == _EDIT_)                pos = LOWORD(((CEdit*)this)->CharFromPos(GetCaretPos()));            if(m_iType == _COMBOBOX_)                pos = m_pEdit->CharFromPos(m_pEdit->GetCaretPos());            int left,right;            left  = FindSepLeftPos(pos-1);            right = FindSepRightPos(pos);            m_Text = m_EditText.Mid(left,right-left);            m_Liste.FindString(-1,m_Text);        }    }    //----------------------------------------------    if(m_iMode & _MODE_STANDARD_)    {        if(!m_CursorMode)            m_Liste.FindString(-1,m_EditText);    }    //----------------------------------------------    GetParent()->SendMessage(ENAC_UPDATE, EN_UPDATE, GetDlgCtrlID());}
开发者ID:tribis,项目名称:TortoiseGit,代码行数:73,


示例5: Author

//.........这里部分代码省略.........        SNUMERICINFO    sNumInfo;        SUSERPROGINFO   sProgInfo;        CString omStr = STR_EMPTY;        // Got the entry type from the CMap        if( m_omListItemType.Lookup(                    lGetMapID(nItem, nSubItem) , sInfo) == TRUE )        {            // Begining of Controls creation            m_bCreating = TRUE;            switch( sInfo.m_eType)            {            // Numeric Edit box with or with out Spin Control            case eNumber:            case eBuddy:                // Get the numeric control parameters                if( m_omNumDetails.Lookup( lGetMapID(nItem, nSubItem),                                           sNumInfo ) == TRUE )                {                    pomNumItem(nItem, nSubItem, sNumInfo);                }                else                {                    // Numeric info is not set                    ASSERT( FALSE );                    // Call with default value                    pomNumItem(nItem, nSubItem, sNumInfo);                }                break;            // General Edit control            case eText:                pomEditItem(nItem, nSubItem);                break;            // Editalble Combo Box            case eComboList:                pomComboList(nItem, nSubItem, sInfo.m_omEntries);                break;            // Non - Editable combo box            case eComboItem:                pomComboItem(nItem, nSubItem, sInfo.m_omEntries);                break;            // User function will be executed            case eUser:                // Get the user program pointer and parameter details                if( m_omUserProg.Lookup( lGetMapID(nItem, nSubItem),                                         sProgInfo ) == TRUE )                {                    sProgInfo.m_pfHandler( this,                                           nItem,                                           nSubItem,                                           sProgInfo.m_pUserParam);                }                else                {                    // User program information is not set                    ASSERT( FALSE );                }                break;            // Toggling type control            case eBool:                // Get the current text                omStr = GetItemText(nItem, nSubItem);                // Compare with the first item                if( sInfo.m_omEntries.GetAt(0).Compare(omStr) == 0 )                {                    // Toggle the first with the second item text.                    omStr = sInfo.m_omEntries.GetAt(1);                }                // Compare with the Second item                else if( sInfo.m_omEntries.GetAt(1).Compare(omStr) == 0 )                {                    // Replace with the first item                    omStr = sInfo.m_omEntries.GetAt(0);                }                // If it is not matching with these two items nothing will                // happen. This could be used to disable the control                // For boolean type this is the end of Controls creation                m_bCreating = FALSE;                // For boolean send the EndLAbleEdit message here itself                LV_DISPINFO lvDispInfo;                lvDispInfo.hdr.hwndFrom = m_hWnd;                lvDispInfo.hdr.idFrom = GetDlgCtrlID();                lvDispInfo.hdr.code = LVN_ENDLABELEDIT;                lvDispInfo.item.mask = LVIF_TEXT;                lvDispInfo.item.iItem = nItem;                lvDispInfo.item.iSubItem = nSubItem;                lvDispInfo.item.pszText = LPTSTR((LPCTSTR)omStr);                lvDispInfo.item.cchTextMax = omStr.GetLength();                SendMessage( WM_NOTIFY, GetDlgCtrlID(),(LPARAM)&lvDispInfo);                break;            default:                // Unknown control type                ASSERT( FALSE );            }            // End of Controls            m_bCreating = FALSE;        }    }}
开发者ID:answer000000,项目名称:busmaster,代码行数:101,


示例6: ehzListView

// -----------------------------------------------// List view di lettura (senza sort header)// -----------------------------------------------void * ehzListView(struct OBJ *objCalled,EN_MESSAGE cmd,LONG info,void *ptr){	EH_DISPEXT *psExt=ptr;	static SINT HdbMovi=-1;	static INT16 iSend;	DWORD dwExStyle;	SINT iLVIndex;	if (fReset)	{		if (cmd!=WS_START) win_infoarg("Inizializzare ehzListView()");		memset(&_arsLv,0,sizeof(EH_LVLIST)*LVMAX);		EhListInizialize();		fReset=FALSE;		return 0;	}	iLVIndex=LVFind(LV_FINDOBJ,objCalled);	if (iLVIndex<0) iLVIndex=LVAlloc(objCalled); switch(cmd)	{		case WS_INF:			return &_arsLv[iLVIndex]; 		case WS_OPEN: // Creazione						objCalled->hWnd=CreateListView(objCalled->nome,sys.EhWinInstance,WindowNow());			_arsLv[iLVIndex].hWndList=objCalled->hWnd;			_arsLv[iLVIndex].hWndHeader=ListView_GetHeader(objCalled->hWnd);//GetWindow(objCalled->hWnd, GW_CHILD);			_arsLv[iLVIndex].idHeader=GetDlgCtrlID(_arsLv[iLVIndex].hWndHeader);			_arsLv[iLVIndex].fLeftClick=TRUE;			_arsLv[iLVIndex].fRightClick=TRUE;			_arsLv[iLVIndex].fDoubleClick=FALSE;			break;		case WS_EXTNOTIFY:			switch (info)			{				case 0: _arsLv[iLVIndex].subListNotify=ptr; break;				case 1: _arsLv[iLVIndex].subMessage=ptr; break;				case 2: _arsLv[iLVIndex].subHeaderNotify=ptr; break;			}							break;		case WS_SETFLAG:			if (!strcmp(ptr,"STYLE")) // Setta lo stile della finestra			{				DWORD dwStyle;				dwStyle=GetWindowLong(objCalled->hWnd, GWL_STYLE);				dwStyle|=info;				SetWindowLong(objCalled->hWnd, GWL_STYLE, (DWORD) dwStyle);			}			if (!strcmp(ptr,"!STYLE")) // Setta lo stile della finestra			{				LONG lStyle;				lStyle=GetWindowLong(objCalled->hWnd, GWL_STYLE);				lStyle&=~info;				SetWindowLong(objCalled->hWnd, GWL_STYLE, lStyle);			}			if (!strcmp(ptr,"STYLEMASK")) // Setta lo stile della finestra			{				DWORD dwStyle;				dwStyle=GetWindowLong(objCalled->hWnd, GWL_STYLE);				//win_infoarg("%08x",~LVS_TYPESTYLEMASK);				dwStyle=dwStyle&~LVS_TYPESTYLEMASK|info;				SetWindowLong(objCalled->hWnd, GWL_STYLE, (DWORD) dwStyle);			}			if (!strcmp(ptr,"EXSTYLE")) // Setta lo stile della finestra			{				dwExStyle=ListView_GetExtendedListViewStyle(objCalled->hWnd);				dwExStyle|=info;				ListView_SetExtendedListViewStyle(objCalled->hWnd,dwExStyle);			}			if (!strcmp(ptr,"!EXSTYLE")) // Setta lo stile della finestra			{				dwExStyle=ListView_GetExtendedListViewStyle(objCalled->hWnd);				dwExStyle&=~info;				ListView_SetExtendedListViewStyle(objCalled->hWnd,dwExStyle);			}			if (!strcmp(ptr,"DCLK")) // Setta il Double Click			{				_arsLv[iLVIndex].fDoubleClick=info;			}			break;		case WS_CLOSE: // Distruzione			DestroyWindow(objCalled->hWnd);			break;		case WS_DEL: // Cancella le colonne//.........这里部分代码省略.........
开发者ID:ferrasrl,项目名称:easyHand,代码行数:101,


示例7: ASSERT_VALID

//*********************************************************************************BOOL CBCGPOutlookBar::SaveState (LPCTSTR lpszProfileName, int nIndex, UINT uiID){	CBCGPBaseTabbedBar::SaveState (lpszProfileName, nIndex, uiID);	for (POSITION pos = m_lstCustomPages.GetHeadPosition (); pos != NULL;)	{		CBCGPOutlookBarPane* pPage = (CBCGPOutlookBarPane*)m_lstCustomPages.GetNext (pos);		ASSERT_VALID (pPage);		int nID = pPage->GetDlgCtrlID ();		pPage->SaveState (lpszProfileName, nID, nID);	}	CString strProfileName = ::BCGPGetRegPath (strOutlookBarProfile, lpszProfileName);	if (nIndex == -1)	{		nIndex = GetDlgCtrlID ();	}	CString strSection;	if (uiID == (UINT) -1)	{		strSection.Format (REG_SECTION_FMT, strProfileName, nIndex);	}	else	{		strSection.Format (REG_SECTION_FMT_EX, strProfileName, nIndex, uiID);	}	try	{		CMemFile file;		{			CArchive ar (&file, CArchive::store);			ar << (int) m_lstCustomPages.GetCount ();			for (POSITION pos = m_lstCustomPages.GetHeadPosition (); pos != NULL;)			{				CBCGPOutlookBarPane* pPage = (CBCGPOutlookBarPane*)m_lstCustomPages.GetNext (pos);				ASSERT_VALID (pPage);				ar << pPage->GetDlgCtrlID ();								CString strName;				if (pPage->IsTabbed ())				{					pPage->GetWindowText (strName);				}				else				{					pPage->GetParent ()->GetWindowText (strName);				}				ar << strName;			}						CBCGPOutlookWnd* pOutlookBar = (CBCGPOutlookWnd*) GetUnderlinedWindow ();			if (pOutlookBar != NULL)			{				ar << pOutlookBar->GetVisiblePageButtons ();			}			else			{				ar << -1;			}			ar.Flush ();		}		UINT uiDataSize = (UINT) file.GetLength ();		LPBYTE lpbData = file.Detach ();		if (lpbData != NULL)		{			CBCGPRegistrySP regSP;			CBCGPRegistry& reg = regSP.Create (FALSE, FALSE);			if (reg.CreateKey (strSection))			{				reg.Write (strRegCustomPages, lpbData, uiDataSize);			}			free (lpbData);		}	}	catch (CMemoryException* pEx)	{		pEx->Delete ();		TRACE(_T("Memory exception in CBCGPOutlookBar::SaveState ()!/n"));	}	catch (CArchiveException* pEx)	{		pEx->Delete ();		TRACE(_T("Archive exception in CBCGPOutlookBar::SaveState ()!/n"));	}	return TRUE;}
开发者ID:cugxiangzhenwei,项目名称:WorkPlatForm,代码行数:100,


示例8: GbaSlotPiano

INT_PTR CALLBACK GbaSlotPiano(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam){	int which = 0;	switch(msg)	{		case WM_INITDIALOG: 		{			_OKbutton = TRUE;			SendDlgItemMessage(dialog,IDC_PIANO_C,WM_USER+44,tmp_Piano.C,0);			SendDlgItemMessage(dialog,IDC_PIANO_CS,WM_USER+44,tmp_Piano.CS,0);			SendDlgItemMessage(dialog,IDC_PIANO_D,WM_USER+44,tmp_Piano.D,0);			SendDlgItemMessage(dialog,IDC_PIANO_DS,WM_USER+44,tmp_Piano.DS,0);			SendDlgItemMessage(dialog,IDC_PIANO_E,WM_USER+44,tmp_Piano.E,0);			SendDlgItemMessage(dialog,IDC_PIANO_F,WM_USER+44,tmp_Piano.F,0);			SendDlgItemMessage(dialog,IDC_PIANO_FS,WM_USER+44,tmp_Piano.FS,0);			SendDlgItemMessage(dialog,IDC_PIANO_G,WM_USER+44,tmp_Piano.G,0);			SendDlgItemMessage(dialog,IDC_PIANO_GS,WM_USER+44,tmp_Piano.GS,0);			SendDlgItemMessage(dialog,IDC_PIANO_A,WM_USER+44,tmp_Piano.A,0);			SendDlgItemMessage(dialog,IDC_PIANO_AS,WM_USER+44,tmp_Piano.AS,0);			SendDlgItemMessage(dialog,IDC_PIANO_B,WM_USER+44,tmp_Piano.B,0);			SendDlgItemMessage(dialog,IDC_PIANO_HIC,WM_USER+44,tmp_Piano.HIC,0);			if (temp_type != addon_type)				needReset = true;			else				needReset = false;			return TRUE;		}		case WM_USER+46:			SendDlgItemMessage(dialog,IDC_PIANO_C,WM_USER+44,tmp_Piano.C,0);			SendDlgItemMessage(dialog,IDC_PIANO_CS,WM_USER+44,tmp_Piano.CS,0);			SendDlgItemMessage(dialog,IDC_PIANO_D,WM_USER+44,tmp_Piano.D,0);			SendDlgItemMessage(dialog,IDC_PIANO_DS,WM_USER+44,tmp_Piano.DS,0);			SendDlgItemMessage(dialog,IDC_PIANO_E,WM_USER+44,tmp_Piano.E,0);			SendDlgItemMessage(dialog,IDC_PIANO_F,WM_USER+44,tmp_Piano.F,0);			SendDlgItemMessage(dialog,IDC_PIANO_FS,WM_USER+44,tmp_Piano.FS,0);			SendDlgItemMessage(dialog,IDC_PIANO_G,WM_USER+44,tmp_Piano.G,0);			SendDlgItemMessage(dialog,IDC_PIANO_GS,WM_USER+44,tmp_Piano.GS,0);			SendDlgItemMessage(dialog,IDC_PIANO_A,WM_USER+44,tmp_Piano.A,0);			SendDlgItemMessage(dialog,IDC_PIANO_AS,WM_USER+44,tmp_Piano.AS,0);			SendDlgItemMessage(dialog,IDC_PIANO_B,WM_USER+44,tmp_Piano.B,0);			SendDlgItemMessage(dialog,IDC_PIANO_HIC,WM_USER+44,tmp_Piano.HIC,0);		return TRUE;		case WM_USER+43:			//MessageBox(hDlg,"USER+43 CAUGHT","moo",MB_OK);			which = GetDlgCtrlID((HWND)lparam);			switch(which)			{			case IDC_PIANO_C: tmp_Piano.C = wparam; break;			case IDC_PIANO_CS: tmp_Piano.CS = wparam; break;			case IDC_PIANO_D: tmp_Piano.D = wparam; break;			case IDC_PIANO_DS: tmp_Piano.DS = wparam; break;			case IDC_PIANO_E: tmp_Piano.E = wparam; break;			case IDC_PIANO_F: tmp_Piano.F = wparam; break;			case IDC_PIANO_FS: tmp_Piano.FS = wparam; break;			case IDC_PIANO_G: tmp_Piano.G = wparam; break;			case IDC_PIANO_GS: tmp_Piano.GS = wparam; break;			case IDC_PIANO_A: tmp_Piano.A = wparam; break;			case IDC_PIANO_AS: tmp_Piano.AS = wparam; break;			case IDC_PIANO_B: tmp_Piano.B = wparam; break;			case IDC_PIANO_HIC: tmp_Piano.HIC = wparam; break;			}			SendDlgItemMessage(dialog,IDC_PIANO_C,WM_USER+44,tmp_Piano.C,0);			SendDlgItemMessage(dialog,IDC_PIANO_CS,WM_USER+44,tmp_Piano.CS,0);			SendDlgItemMessage(dialog,IDC_PIANO_D,WM_USER+44,tmp_Piano.D,0);			SendDlgItemMessage(dialog,IDC_PIANO_DS,WM_USER+44,tmp_Piano.DS,0);			SendDlgItemMessage(dialog,IDC_PIANO_E,WM_USER+44,tmp_Piano.E,0);			SendDlgItemMessage(dialog,IDC_PIANO_F,WM_USER+44,tmp_Piano.F,0);			SendDlgItemMessage(dialog,IDC_PIANO_FS,WM_USER+44,tmp_Piano.FS,0);			SendDlgItemMessage(dialog,IDC_PIANO_G,WM_USER+44,tmp_Piano.G,0);			SendDlgItemMessage(dialog,IDC_PIANO_GS,WM_USER+44,tmp_Piano.GS,0);			SendDlgItemMessage(dialog,IDC_PIANO_A,WM_USER+44,tmp_Piano.A,0);			SendDlgItemMessage(dialog,IDC_PIANO_AS,WM_USER+44,tmp_Piano.AS,0);			SendDlgItemMessage(dialog,IDC_PIANO_B,WM_USER+44,tmp_Piano.B,0);			SendDlgItemMessage(dialog,IDC_PIANO_HIC,WM_USER+44,tmp_Piano.HIC,0);			PostMessage(dialog,WM_NEXTDLGCTL,0,0);		return true;	}	return FALSE;}
开发者ID:Ronmi,项目名称:desmume-debianlized,代码行数:85,


示例9: switch

//.........这里部分代码省略.........				dwDllBuild == ~0 ? cMissing.Data : dwDllBuild < DllBuild_Merge7z ? cOutdated.Data : cPresent.Data);			dwDllBuild = FormatVersion(cText.Data, cPlugin.Data, pThis->m_dwVer7zInstalled);			SetDlgItemText(hWnd, 120, *cText.Data ? cText.Data : cNone.Data);			SetDlgItemText(hWnd, 121, cPlugin.Data);			SetDlgItemText(hWnd, 122, *cPlugin.Data == '/0' ? cPlugin.Data :				dwDllBuild == ~0 ? cMissing.Data : dwDllBuild < DllBuild_Merge7z ? cOutdated.Data : cPresent.Data);			dwDllBuild = FormatVersion(cText.Data, cPlugin.Data, pThis->m_dwVer7zLocal);			SetDlgItemText(hWnd, 130, *cText.Data ? cText.Data : cNone.Data);			SetDlgItemText(hWnd, 131, cPlugin.Data);			SetDlgItemText(hWnd, 132, *cPlugin.Data == '/0' ? cPlugin.Data :				dwDllBuild == ~0 ? cMissing.Data : dwDllBuild < DllBuild_Merge7z ? cOutdated.Data : cPresent.Data);			GetModuleFileName(0, cText.Data, MAX_PATH);			PathRemoveFileSpec(cText.Data);			PathAppend(cText.Data, _T("Merge7z*.dll"));			DlgDirListDLLs(hWnd, cText.Data, 105);			if (DWORD cchPath = GetEnvironmentVariable(_T("path"), 0, 0))			{				static const TCHAR cSep[] = _T(";");				LPTSTR pchPath = new TCHAR[cchPath];				GetEnvironmentVariable(_T("PATH"), pchPath, cchPath);				LPTSTR pchItem = pchPath;				while (int cchItem = StrCSpn(pchItem += StrSpn(pchItem, cSep), cSep))				{					if (cchItem < MAX_PATH)					{						CopyMemory(cText.Data, pchItem, cchItem*sizeof*pchItem);						cText.Data[cchItem] = 0;						PathAppend(cText.Data, _T("Merge7z*.dll"));						DlgDirListDLLs(hWnd, cText.Data, 105);					}					pchItem += cchItem;				}				delete[] pchPath;			}			if (SendDlgItemMessage(hWnd, 105, LB_GETCOUNT, 0, 0) == 0)			{				SendDlgItemMessage(hWnd, 105, LB_ADDSTRING, 0, (LPARAM) cNone.Data);			}			HICON hIcon = LoadIcon(0, IDI_EXCLAMATION);			SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM) hIcon);			SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) hIcon);			if (pThis->m_bShowAllways)			{				ShowWindow(GetDlgItem(hWnd, 106), SW_HIDE);			}		} return TRUE;		case WM_DRAWITEM:		{			switch (wParam)			{			case 108:				CDrawItemStruct::From(lParam)->DrawWebLinkButton();				break;			}		} return TRUE;		case WM_SETCURSOR:		{			HCURSOR hCursor = 0;			switch (GetDlgCtrlID((HWND)wParam))			{			case 108:				hCursor = CommCtrl_LoadCursor(MAKEINTRESOURCE(108));				break;			}			if (hCursor)			{				SetCursor(hCursor);				SetWindowLongPtr(hWnd, DWLP_MSGRESULT, 1);				return TRUE;			}		} return FALSE;		case WM_COMMAND:		{			switch (wParam)			{				case IDOK:				case IDCANCEL:				{					int nDontShowAgain = SendDlgItemMessage(hWnd, 106, BM_GETCHECK, 0, 0);					EndDialog(hWnd, MAKEWORD(IDOK, nDontShowAgain));				} break;				case 108:				{					HINSTANCE h = ShellExecute(hWnd, _T("open"), m_strDownloadURL, 0, 0, SW_SHOWNORMAL);					if ((UINT)h > 32)					{						LONG lStyle = ::GetWindowLong((HWND)lParam, GWL_STYLE);						::SetWindowLong((HWND)lParam, GWL_STYLE, lStyle|BS_LEFTTEXT);						::InvalidateRect((HWND)lParam, 0, TRUE);					}					else					{						MessageBeep(0);					}				} break;			}		} return TRUE;	}	return FALSE;}
开发者ID:seanedwards,项目名称:COS-420,代码行数:101,


示例10: NetworkPingWndProc

//.........这里部分代码省略.........                );            if (context->PingGraphHandle)                DestroyWindow(context->PingGraphHandle);            if (context->IconHandle)                DestroyIcon(context->IconHandle);            if (context->FontHandle)                DeleteObject(context->FontHandle);            PhDeleteWorkQueue(&context->PingWorkQueue);            PhDeleteGraphState(&context->PingGraphState);            PhDeleteLayoutManager(&context->LayoutManager);            RemoveProp(hwndDlg, L"Context");            PhFree(context);        }        break;    case WM_SIZE:        PhLayoutManagerLayout(&context->LayoutManager);        break;    case WM_SIZING:        PhResizingMinimumSize((PRECT)lParam, wParam, 420, 250);        break;    case WM_CTLCOLORBTN:    case WM_CTLCOLORDLG:    case WM_CTLCOLORSTATIC:        {            HDC hDC = (HDC)wParam;            HWND hwndChild = (HWND)lParam;            // Check for our static label and change the color.            if (GetDlgCtrlID(hwndChild) == IDC_MAINTEXT)            {                SetTextColor(hDC, RGB(19, 112, 171));            }            // Set a transparent background for the control backcolor.            SetBkMode(hDC, TRANSPARENT);            // set window background color.            return (INT_PTR)GetSysColorBrush(COLOR_WINDOW);        }        break;    case WM_PING_UPDATE:        {            ULONG i = 0;            ULONG maxGraphHeight = 0;            ULONG pingAvgValue = 0;            PhNetworkPingUpdateGraph(context);            for (i = 0; i < context->PingHistory.Count; i++)            {                maxGraphHeight = maxGraphHeight + PhGetItemCircularBuffer_ULONG(&context->PingHistory, i);                pingAvgValue = maxGraphHeight / context->PingHistory.Count;            }            SetDlgItemText(hwndDlg, IDC_ICMP_AVG, PhaFormatString(                L"Average: %lums", pingAvgValue)->Buffer);            SetDlgItemText(hwndDlg, IDC_ICMP_MIN, PhaFormatString(                L"Minimum: %lums", context->PingMinMs)->Buffer);            SetDlgItemText(hwndDlg, IDC_ICMP_MAX, PhaFormatString(                L"Maximum: %lums", context->PingMaxMs)->Buffer);
开发者ID:lei720,项目名称:processhacker2,代码行数:66,


示例11: PhosphorProc

//.........这里部分代码省略.........								if (bValid) {									nVidFeedbackIntensity = _tcstol(szText, NULL, 0);									if (nVidFeedbackIntensity < 0) {										nVidFeedbackIntensity = 0;									} else {										if (nVidFeedbackIntensity > 255) {											nVidFeedbackIntensity = 255;										}									}									// Set slider to current value									SendDlgItemMessage(hDlg, IDC_PHOSPHOR_1_SLIDER, TBM_SETPOS, (WPARAM)true, (LPARAM)nVidFeedbackIntensity);								}								break;							case IDC_PHOSPHOR_2_EDIT:								if (SendDlgItemMessage(hDlg, IDC_PHOSPHOR_2_EDIT, WM_GETTEXTLENGTH, (WPARAM)0, (LPARAM)0) < 16) {									SendDlgItemMessage(hDlg, IDC_PHOSPHOR_2_EDIT, WM_GETTEXT, (WPARAM)16, (LPARAM)szText);								}								// Scan string in the edit control for illegal characters								for (int i = 0; szText[i]; i++) {									if (!_istdigit(szText[i])) {										bValid = 0;										break;									}								}								if (bValid) {									nVidFeedbackOverSaturation = _tcstol(szText, NULL, 0);									if (nVidFeedbackOverSaturation < 0) {										nVidFeedbackOverSaturation = 0;									} else {										if (nVidFeedbackOverSaturation > 255) {											nVidFeedbackOverSaturation = 255;										}									}									// Set slider to current value									SendDlgItemMessage(hDlg, IDC_PHOSPHOR_2_SLIDER, TBM_SETPOS, (WPARAM)true, (LPARAM)nVidFeedbackOverSaturation);									// Update the screen									if (bVidOkay) {										VidPaint(2);									}								}								break;						}					}					break;				}			}			break;		}		case WM_HSCROLL: {			switch (LOWORD(wParam)) {				case TB_BOTTOM:				case TB_ENDTRACK:				case TB_LINEDOWN:				case TB_LINEUP:				case TB_PAGEDOWN:				case TB_PAGEUP:				case TB_THUMBPOSITION:				case TB_THUMBTRACK:				case TB_TOP: {					if (nExitStatus == 0) {						TCHAR szText[16];						// Update the contents of the edit control						switch (GetDlgCtrlID((HWND)lParam)) {							case IDC_PHOSPHOR_1_SLIDER:								nVidFeedbackIntensity = SendDlgItemMessage(hDlg, IDC_PHOSPHOR_1_SLIDER, TBM_GETPOS, (WPARAM)0, (LPARAM)0);								_stprintf(szText, _T("%i"), nVidFeedbackIntensity);								SendDlgItemMessage(hDlg, IDC_PHOSPHOR_1_EDIT, WM_SETTEXT, (WPARAM)0, (LPARAM)szText);								break;							case IDC_PHOSPHOR_2_SLIDER:								nVidFeedbackOverSaturation = SendDlgItemMessage(hDlg, IDC_PHOSPHOR_2_SLIDER, TBM_GETPOS, (WPARAM)0, (LPARAM)0);								_stprintf(szText, _T("%i"), nVidFeedbackOverSaturation);								SendDlgItemMessage(hDlg, IDC_PHOSPHOR_2_EDIT, WM_SETTEXT, (WPARAM)0, (LPARAM)szText);								break;						}					}					break;				}			}			break;		}		case WM_CLOSE:			if (nExitStatus != 1) {				nVidFeedbackIntensity = nPrevIntensity;				nVidFeedbackOverSaturation = nPrevSaturation;			}			EndDialog(hDlg, 0);			break;	}	return 0;}
开发者ID:ernestd,项目名称:fbarr,代码行数:101,


示例12: kwin_command

/* * Function: Process WM_COMMAND messages */static voidkwin_command(HWND hwnd, int cid, HWND hwndCtl, UINT codeNotify){  char                      name[ANAME_SZ];  char                      realm[REALM_SZ];  char                      password[MAX_KPW_LEN];  HCURSOR                   hcursor;  BOOL                      blogin;  HMENU                     hmenu;  char                      menuitem[MAX_K_NAME_SZ + 3];  char                      copyright[128];  int                       id;#ifdef KRB4  char                      instance[INST_SZ];  int                       lifetime;  int                       krc;#endif#ifdef KRB5  long                      lifetime;  krb5_error_code           code;  krb5_principal            principal;  krb5_creds                creds;  krb5_get_init_creds_opt   opts;  gic_data                  gd;#endif#ifdef KRB4  EnableWindow(GetDlgItem(hwnd, IDD_TICKET_DELETE), krb_get_num_cred() > 0);#endif#ifdef KRB5  EnableWindow(GetDlgItem(hwnd, IDD_TICKET_DELETE), k5_get_num_cred(1) > 0);#endif  GetDlgItemText(hwnd, IDD_LOGIN_NAME, name, sizeof(name));  trim(name);  blogin = strlen(name) > 0;  if (blogin) {    GetDlgItemText(hwnd, IDD_LOGIN_REALM, realm, sizeof(realm));    trim(realm);    blogin = strlen(realm) > 0;  }  if (blogin) {    GetDlgItemText(hwnd, IDD_LOGIN_PASSWORD, password, sizeof(password));    blogin = strlen(password) > 0;  }  EnableWindow(GetDlgItem(hwnd, IDD_LOGIN), blogin);  id = (blogin) ? IDD_LOGIN : IDD_PASSWORD_CR2;  SendMessage(hwnd, DM_SETDEFID, id, 0);  if (codeNotify != BN_CLICKED && codeNotify != 0 && codeNotify != 1)    return; /* FALSE */  /*   * Check to see if this item is in a list of the ``recent hosts'' sort   * of list, under the FILE menu.   */  if (cid >= IDM_FIRST_LOGIN && cid < IDM_FIRST_LOGIN + FILE_MENU_MAX_LOGINS) {    hmenu = GetMenu(hwnd);    assert(hmenu != NULL);    hmenu = GetSubMenu(hmenu, 0);    assert(hmenu != NULL);    if (!GetMenuString(hmenu, cid, menuitem, sizeof(menuitem), MF_BYCOMMAND))      return; /* TRUE */    if (menuitem[0])      kwin_init_name(hwnd, &menuitem[3]);    return; /* TRUE */  }  switch (cid) {  case IDM_EXIT:    if (isblocking)      WSACancelBlockingCall();    WinHelp(hwnd, KERBEROS_HLP, HELP_QUIT, 0);    PostQuitMessage(0);    return; /* TRUE */  case IDD_PASSWORD_CR2:                      /* Make CR == TAB */    id = GetDlgCtrlID(GetFocus());    assert(id != 0);    if (id == IDD_MAX_EDIT)      PostMessage(hwnd, WM_NEXTDLGCTL,		  (WPARAM)GetDlgItem(hwnd, IDD_MIN_EDIT), MAKELONG(1, 0));    else      PostMessage(hwnd, WM_NEXTDLGCTL, 0, 0);    return; /* TRUE *///.........这里部分代码省略.........
开发者ID:Akasurde,项目名称:krb5,代码行数:101,


示例13: MainDlg_MusicPlayer_Proc

//.........这里部分代码省略.........			}		}			return TRUE;/*		case ID_QuitApp://该菜单项无意义。		{			EndDialog(GetParent(hwnd), 0);//关闭主窗口。		}			return TRUE;*/		default:			return FALSE;		}	}		return TRUE;//这里TRUE or FALSE已经无所谓了。	case WM_MUSICEND://一首音乐播放完成之后,定时器函数中会发送这个消息给窗口,窗口响应该消息后调用函数播放下一首音乐。	{		MusicMessage::AutoPlayNextMusic();	}		return TRUE;	case WM_SEARCHITEMMSG://接受搜索框传过来的搜索消息。	{		TCHAR szSearchItemMsg[MAX_PATH] = { NULL };		lstrcpy(szSearchItemMsg, (TCHAR*)wParam);//拷贝搜索框传过来的搜索消息。//		MessageBox(hwnd, szSearchItemMsg, TEXT("Message"), MB_OK);		//开始音乐列表的搜索操作。		MusicMessage::FindMusicItemFromMusicList(szSearchItemMsg);	}		return TRUE;	case WM_CONTEXTMENU://The WM_CONTEXTMENU message notifies a window that the user clicked the right mouse button (right-clicked) in the window.	{		HWND hClickWnd = (HWND)wParam;		int iXcoordinate = (int)LOWORD(lParam);//这两个都是点击时的屏幕坐标。		int iYcoordinate = (int)HIWORD(lParam);		//看是来自哪个控件的右键点击操作。		switch (GetDlgCtrlID(hClickWnd))		{		case IDC_LISTMUSIC:		{			HWND hMusicListWnd = GetDlgItem(hwnd, IDC_LISTMUSIC);			HMENU hMenu = LoadMenu((HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE),				MAKEINTRESOURCE(IDR_MusicList_RightClick_Menu));			hMenu = GetSubMenu(hMenu, 0);			RECT musicListScreenRect;			GetWindowRect(hMusicListWnd, &musicListScreenRect);//获得此时音乐列表的屏幕坐标。			int iTopIndex = SendMessage(hMusicListWnd, LB_GETTOPINDEX, (WPARAM)0, (LPARAM)0);			int iMusicListItemHeight = SendMessage(hMusicListWnd, LB_GETITEMHEIGHT, (WPARAM)iTopIndex, (LPARAM)0);//就先取第零项的高度试一下。			if (iMusicListItemHeight == LB_ERR)			{				MessageBox(hwnd, TEXT("在获取音乐列表的每一项的高度时发生错误!"), TEXT("ERROR"), MB_OK | MB_ICONERROR);			}			int iCurIndex = iTopIndex + (int)((iYcoordinate - musicListScreenRect.top) / iMusicListItemHeight);			SendMessage(hMusicListWnd, LB_SETCURSEL, (WPARAM)iCurIndex, (LPARAM)0);			TrackPopupMenuEx(hMenu, TPM_LEFTALIGN, iXcoordinate, iYcoordinate, hwnd, NULL);		}			return TRUE;		default:			return FALSE;		}	}		return TRUE;	case WM_HSCROLL:	{		switch (GetDlgCtrlID((HWND)lParam))		{		case IDC_MusicSlider:			PlayingSliderChange(hwnd, (HWND)lParam, wParam);			return TRUE;
开发者ID:XuJian1252878,项目名称:Win32_Player,代码行数:67,


示例14: ContactListControlWndProc

LRESULT CALLBACK ContactListControlWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){	ClcContact *contact;	ClcGroup *group;	BOOL frameHasTitlebar = FALSE;	if (wndFrameCLC)		frameHasTitlebar = wndFrameCLC->TitleBar.ShowTitleBar;	ClcData *dat = (struct ClcData *) GetWindowLongPtr(hwnd, 0);	if (msg >= CLM_FIRST && msg < CLM_LAST)		return ProcessExternalMessages(hwnd, dat, msg, wParam, lParam);	switch (msg) {	case WM_CREATE:		dat = (struct ClcData *)mir_alloc(sizeof(struct ClcData));		memset(dat, 0, sizeof(struct ClcData));		SetWindowLongPtr(hwnd, 0, (LONG_PTR)dat);		RowHeight::Init(dat);		dat->forceScroll = 0;		dat->lastRepaint = 0;		dat->hwndParent = GetParent(hwnd);		dat->lastSort = GetTickCount();		dat->needsResort = FALSE;		{			CREATESTRUCT *cs = (CREATESTRUCT *)lParam;			if (cs->lpCreateParams == (LPVOID)0xff00ff00) {				dat->bisEmbedded = FALSE;				dat->bHideSubcontacts = TRUE;				cfg::clcdat = dat;				if (cfg::dat.bShowLocalTime)					SetTimer(hwnd, TIMERID_REFRESH, 65000, NULL);			}			else				dat->bisEmbedded = TRUE;		}		break;	case WM_SIZE:		pcli->pfnEndRename(hwnd, dat, 1);		KillTimer(hwnd, TIMERID_INFOTIP);		KillTimer(hwnd, TIMERID_RENAME);		pcli->pfnRecalcScrollBar(hwnd, dat);LBL_Def:		return DefWindowProc(hwnd, msg, wParam, lParam);	case WM_NCCALCSIZE:		return FrameNCCalcSize(hwnd, DefWindowProc, wParam, lParam, frameHasTitlebar);		/*		* scroll bar handling		*/	case WM_NCPAINT:		return FrameNCPaint(hwnd, DefWindowProc, wParam, lParam, frameHasTitlebar);	case INTM_GROUPCHANGED:	{		WORD iExtraImage[EXTRA_ICON_COUNT];		BYTE flags = 0;		if (!FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL))			memset(iExtraImage, 0xFF, sizeof(iExtraImage));		else {			memcpy(iExtraImage, contact->iExtraImage, sizeof(iExtraImage));			flags = contact->flags;		}		pcli->pfnDeleteItemFromTree(hwnd, wParam);		if (GetWindowLongPtr(hwnd, GWL_STYLE) & CLS_SHOWHIDDEN || !CLVM_GetContactHiddenStatus(wParam, NULL, dat)) {			pcli->pfnAddContactToTree(hwnd, dat, wParam, 1, 1);			if (FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL)) {				memcpy(contact->iExtraImage, iExtraImage, sizeof(iExtraImage));				if (flags & CONTACTF_CHECKED)					contact->flags |= CONTACTF_CHECKED;			}			NMCLISTCONTROL nm;			nm.hdr.code = CLN_CONTACTMOVED;			nm.hdr.hwndFrom = hwnd;			nm.hdr.idFrom = GetDlgCtrlID(hwnd);			nm.flags = 0;			nm.hItem = (HANDLE)wParam;			SendMessage(GetParent(hwnd), WM_NOTIFY, 0, (LPARAM)&nm);		}		dat->needsResort = TRUE;		PostMessage(hwnd, INTM_SORTCLC, 0, 1);	}		goto LBL_Def;	case INTM_ICONCHANGED:	{		int recalcScrollBar = 0;		MCONTACT hContact = wParam;		WORD status = ID_STATUS_OFFLINE;		int  contactRemoved = 0;		MCONTACT hSelItem = NULL;		ClcContact *selcontact = NULL;		char *szProto = GetContactProto(hContact);		if (szProto == NULL)			status = ID_STATUS_OFFLINE;//.........这里部分代码省略.........
开发者ID:0xmono,项目名称:miranda-ng,代码行数:101,


示例15: ContactListSubclassProc

LRESULT CALLBACK ContactListSubclassProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam){	TVITEM tvi;	CCList *dat = CWndUserData(GetParent(hWnd)).GetCList();	switch (Msg) {	case INTM_CONTACTDELETED: // wParam = (HANDLE)hContact		{			HTREEITEM hItem = dat->FindContact(wParam);			if (hItem)				TreeView_DeleteItem(hWnd, hItem);		}		break;	case INTM_ICONCHANGED: // wParam = (HANDLE)hContact, lParam = IconID		tvi.hItem = dat->FindContact(wParam);		if (tvi.hItem) {			tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;			tvi.iImage = tvi.iSelectedImage = lParam;			TreeView_SetItem(hWnd, &tvi);			dat->SortContacts();			InvalidateRect(hWnd, NULL, false);		}		break;	case INTM_INVALIDATE:		InvalidateRect(hWnd, NULL, true);		break;	case WM_RBUTTONDOWN:		SetFocus(hWnd);		{			TVHITTESTINFO hitTest;			hitTest.pt.x = (short)LOWORD(lParam);			hitTest.pt.y = (short)HIWORD(lParam);			TreeView_HitTest(hWnd, &hitTest);			if (hitTest.hItem && hitTest.flags & TVHT_ONITEM)				TreeView_SelectItem(hWnd, hitTest.hItem);		}		return DefWindowProc(hWnd, Msg, wParam, lParam);	case WM_LBUTTONDOWN:		{			POINT pt = { (short)LOWORD(lParam), (short)HIWORD(lParam) };			DWORD hitFlags;			HTREEITEM hItem = dat->HitTest(&pt, &hitFlags);			if (!hItem)				break;			if (hitFlags & MCLCHT_ONITEMICON) {				if (TreeView_GetChild(hWnd, hItem)) { // if it's a group, then toggle its state					NMTREEVIEW nmtv;					nmtv.hdr.hwndFrom = hWnd;					nmtv.hdr.idFrom = GetDlgCtrlID(hWnd);					nmtv.hdr.code = TVN_ITEMEXPANDING;					nmtv.action = TVE_TOGGLE;					nmtv.itemNew.hItem = hItem;					nmtv.itemNew.mask = TVIF_HANDLE | TVIF_STATE | TVIF_PARAM;					TreeView_GetItem(hWnd, &nmtv.itemNew);					nmtv.ptDrag = pt;					if (SendMessage(GetParent(hWnd), WM_NOTIFY, 0, (LPARAM)&nmtv))						return 0;					HTREEITEM hOldSelItem = TreeView_GetSelection(hWnd);					TreeView_Expand(hWnd, hItem, TVE_TOGGLE);					HTREEITEM hNewSelItem = TreeView_GetSelection(hWnd);					if (hNewSelItem != hOldSelItem) {						TreeView_SetItemState(hWnd, hOldSelItem, (dat->SelectedItems.Find(hOldSelItem) == -1) ? 0 : TVIS_SELECTED, TVIS_SELECTED);						TreeView_SetItemState(hWnd, hNewSelItem, (dat->SelectedItems.Find(hNewSelItem) == -1) ? 0 : TVIS_SELECTED, TVIS_SELECTED);					}					nmtv.hdr.code = TVN_ITEMEXPANDED;					TreeView_GetItem(hWnd, &nmtv.itemNew);					SendMessage(GetParent(hWnd), WM_NOTIFY, 0, (LPARAM)&nmtv);					return 0;				}			}			if (hitFlags & MCLCHT_ONITEM) {				if (wParam & MK_CONTROL) {					SetFocus(hWnd);					TREEITEMARRAY OldSelection = dat->SelectedItems;					int nIndex = dat->SelectedItems.Find(hItem);					if (nIndex == -1) {						TreeView_SetItemState(hWnd, hItem, TVIS_SELECTED, TVIS_SELECTED);						dat->SelectedItems.AddElem(hItem);					}					else {						TreeView_SetItemState(hWnd, hItem, 0, TVIS_SELECTED);						dat->SelectedItems.RemoveElem(nIndex);					}					dat->SelectGroups(hItem, nIndex == -1);					NMCLIST nm;					nm.hdr.code = MCLN_SELCHANGED;					nm.hdr.hwndFrom = hWnd;					nm.hdr.idFrom = GetDlgCtrlID(hWnd);					nm.OldSelection = &OldSelection;					nm.NewSelection = &dat->SelectedItems;					SendMessage(GetParent(hWnd), WM_NOTIFY, 0, (LPARAM)&nm);					return 0;				}				// if it was a click on the selected item and there's need to do something in this case, then send SELCHANGED notification by ourselves, as the tree control doesn't do anything//.........这里部分代码省略.........
开发者ID:Seldom,项目名称:miranda-ng,代码行数:101,


示例16: GetDlgCtrlID

//*********************************************************************************BOOL CBCGPOutlookBar::LoadState (LPCTSTR lpszProfileName, int nIndex, UINT uiID){	CBCGPBaseTabbedBar::LoadState (lpszProfileName, nIndex, uiID);	CString strProfileName = ::BCGPGetRegPath (strOutlookBarProfile, lpszProfileName);	if (nIndex == -1)	{		nIndex = GetDlgCtrlID ();	}	CString strSection;	if (uiID == (UINT) -1)	{		strSection.Format (REG_SECTION_FMT, strProfileName, nIndex);	}	else	{		strSection.Format (REG_SECTION_FMT_EX, strProfileName, nIndex, uiID);	}	LPBYTE	lpbData = NULL;	UINT	uiDataSize;	CBCGPRegistrySP regSP;	CBCGPRegistry& reg = regSP.Create (FALSE, TRUE);	if (!reg.Open (strSection))	{		return FALSE;	}	if (!reg.Read (strRegCustomPages, &lpbData, &uiDataSize))	{		return FALSE;	}	CBCGPOutlookWnd* pOutlookBar = (CBCGPOutlookWnd*) GetUnderlinedWindow ();	try	{		CMemFile file (lpbData, uiDataSize);		CArchive ar (&file, CArchive::load);		int nCount = 0;		ar >> nCount;		for (int i = 0; i < nCount; i++)		{			int nID = 0;			CString strName;			ar >> nID;			ar >> strName;			CBCGPOutlookBarPane* pPage = new CBCGPOutlookBarPane ();			pPage->Create (this, dwDefaultToolbarStyle, nID);			pPage->SetOwner (GetOwner ());			pPage->LoadState (lpszProfileName, nID,  nID);			m_lstCustomPages.AddTail (pPage);			pOutlookBar->AddTab (pPage, strName);			g_arTakenIDs [nID - g_nBCGPMinReservedPageID] = true;		}		if (g_pWorkspace != NULL && g_pWorkspace->GetDataVersion () >= 0x60710 && g_pWorkspace->GetDataVersion () != 0x70000)		{			int nVisiblePages = 0;			ar >> nVisiblePages;			pOutlookBar->SetVisiblePageButtons (nVisiblePages);		}	}	catch (CMemoryException* pEx)	{		pEx->Delete ();		TRACE(_T("Memory exception in CBCGPOutlookBar::SaveState ()!/n"));	}	catch (CArchiveException* pEx)	{		pEx->Delete ();		TRACE(_T("Archive exception in CBCGPOutlookBar::LoadState ()!/n"));	}	free (lpbData);	return TRUE;}
开发者ID:cugxiangzhenwei,项目名称:WorkPlatForm,代码行数:89,


示例17: ParentSubclassProc

static LRESULT CALLBACK ParentSubclassProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam){	CCList *dat = CWndUserData(hWnd).GetCList();	switch (Msg) {	case WM_NOTIFY:		{			LPNMHDR pnmh = (LPNMHDR)lParam;			if (pnmh->hwndFrom == dat->hTreeView) {				switch (pnmh->code) {				case TVN_ITEMEXPANDED: // just set an appropriate group image					{						LPNMTREEVIEW pnmtv = (LPNMTREEVIEW)lParam;						TVITEM tvItem;						tvItem.hItem = pnmtv->itemNew.hItem;						tvItem.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;						tvItem.iImage = tvItem.iSelectedImage = (pnmtv->itemNew.state & TVIS_EXPANDED) ? IMAGE_GROUPOPEN : IMAGE_GROUPSHUT;						TreeView_SetItem(dat->hTreeView, &tvItem);					}					break;				case TVN_SELCHANGED:					{						LPNMTREEVIEW pnmtv = (LPNMTREEVIEW)lParam;						TREEITEMARRAY OldSelection = dat->SelectedItems;						for (int i = 0; i < dat->SelectedItems.GetSize(); i++) {							if (dat->SelectedItems[i] != pnmtv->itemNew.hItem) {								TreeView_SetItemState(dat->hTreeView, dat->SelectedItems[i], 0, TVIS_SELECTED);							}						}						dat->SelectedItems.RemoveAll();						if (pnmtv->itemNew.hItem) {							dat->SelectedItems.AddElem(pnmtv->itemNew.hItem);							dat->SelectGroups(pnmtv->itemNew.hItem, true);						}						NMCLIST nm;						nm.hdr.code = MCLN_SELCHANGED;						nm.hdr.hwndFrom = dat->hTreeView;						nm.hdr.idFrom = GetDlgCtrlID(dat->hTreeView);						nm.OldSelection = &OldSelection;						nm.NewSelection = &dat->SelectedItems;						SendMessage(hWnd, WM_NOTIFY, 0, (LPARAM)&nm);					}					break;				case TVN_DELETEITEM:					if (dat->Items.GetSize()) { // if Items size = 0, then this TVN_DELETEITEM came after WM_DESTROY, so there is no need to do anything						LPNMTREEVIEW pnmtv = (LPNMTREEVIEW)lParam;						TREEITEMARRAY OldSelection = dat->SelectedItems;						int Index = dat->SelectedItems.Find(pnmtv->itemOld.hItem);						if (Index != -1)							dat->SelectedItems.RemoveElem(Index);						// find an item to pass to SelectGroups()						HTREEITEM hItem = TreeView_GetNextSibling(dat->hTreeView, pnmtv->itemOld.hItem);						if (!hItem) {							hItem = TreeView_GetPrevSibling(dat->hTreeView, pnmtv->itemOld.hItem);							if (!hItem)								hItem = TreeView_GetParent(dat->hTreeView, pnmtv->itemOld.hItem);						}						if (hItem) // if it wasn't one of the root items							dat->SelectGroups(hItem, dat->SelectedItems.Find(hItem) != -1);						NMCLIST nm;						nm.hdr.code = MCLN_SELCHANGED;						nm.hdr.hwndFrom = dat->hTreeView;						nm.hdr.idFrom = GetDlgCtrlID(dat->hTreeView);						nm.OldSelection = &OldSelection;						nm.NewSelection = &dat->SelectedItems;						SendMessage(hWnd, WM_NOTIFY, 0, (LPARAM)&nm);						dat->Items[pnmtv->itemOld.lParam].hContact = INVALID_CONTACT_ID;					}					break;				case NM_CUSTOMDRAW:					LPNMTVCUSTOMDRAW lpNMCD = (LPNMTVCUSTOMDRAW)lParam;					switch (lpNMCD->nmcd.dwDrawStage) {					case CDDS_PREPAINT: // the control is about to start painting						return CDRF_NOTIFYITEMDRAW; // instruct the control to return information when it draws items					case CDDS_ITEMPREPAINT:						return CDRF_NOTIFYPOSTPAINT;					case CDDS_ITEMPOSTPAINT:						RECT rc;						if (TreeView_GetItemRect(dat->hTreeView, (HTREEITEM)lpNMCD->nmcd.dwItemSpec, &rc, false)) {							for (int i = 0; i < MAXEXTRAICONS; i++) {								BYTE nIndex = dat->Items[lpNMCD->nmcd.lItemlParam].ExtraIcons[i];								if (nIndex != CLC_EXTRAICON_EMPTY) {									ImageList_DrawEx(dat->ExtraImageList, nIndex, lpNMCD->nmcd.hdc, rc.right - EXTRAICON_XSTEP * (i + 1), rc.top, 0, 0, /*GetSysColor(COLOR_WINDOW)*/CLR_NONE, CLR_NONE, ILD_NORMAL);								}							}						}						break;					}				}				break;			}		}	}	return CallWindowProc(dat->OrigParentProc, hWnd, Msg, wParam, lParam);}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:98,


示例18: GetWindowText

bool CACEdit::HandleKey(UINT nChar, bool m_bFromChild){    if (nChar == VK_ESCAPE ||nChar == VK_RETURN)    {        m_Liste.ShowWindow(false);        return true;    }    if (nChar == VK_DOWN || nChar == VK_UP            || nChar == VK_PRIOR || nChar == VK_NEXT            || nChar == VK_HOME || nChar == VK_END)    {        /*        ** Vers. 1.1        ** NEW: _MODE_CURSOR_O_LIST_        */        if(!m_Liste.IsWindowVisible() && (m_iMode & _MODE_CURSOR_O_LIST_))        {            GetWindowText(m_EditText);            if(m_EditText.IsEmpty())            {                m_Liste.CopyList();                return true;            }        }        if(m_Liste.IsWindowVisible())        {            int pos;            if(m_iMode & _MODE_STANDARD_                    || m_iMode & _MODE_FILESYSTEM_                    || m_iMode & _MODE_FS_START_DIR_)            {                m_CursorMode = true;                if(!m_bFromChild)                    m_EditText = m_Liste.GetNextString(nChar);                else                    m_EditText = m_Liste.GetString();                if(m_iMode & _MODE_FILESYSTEM_)                {                    if (m_EditText.Right(1) == _T('//'))                        m_EditText = m_EditText.Mid(0,m_EditText.GetLength()-1);                }                m_Liste.SelectItem(-1);                SetWindowText(m_EditText);                pos = m_EditText.GetLength();                if(m_iType == _COMBOBOX_)                {                    m_pEdit->SetSel(pos,pos,true);                    m_pEdit->SetModify(true);                }                if(m_iType == _EDIT_)                {                    ((CEdit*)this)->SetSel(pos,pos,true);                    ((CEdit*)this)->SetModify(true);                }                GetParent()->SendMessage(ENAC_UPDATE, WM_KEYDOWN, GetDlgCtrlID());                m_CursorMode = false;                return true;            }            if(m_iMode & _MODE_SEPARATION_)            {                CString m_Text,m_Left,m_Right;                int left,right,pos2=0,len;                m_CursorMode = true;                GetWindowText(m_EditText);                if(m_iType == _EDIT_)                    pos2 = LOWORD(((CEdit*)this)->CharFromPos(GetCaretPos()));                if(m_iType == _COMBOBOX_)                    pos2 = m_pEdit->CharFromPos(m_pEdit->GetCaretPos());                left  = FindSepLeftPos(pos2-1,true);                right = FindSepRightPos(pos2);                m_Text = m_EditText.Left(left);                if(!m_bFromChild)                    m_Text += m_Liste.GetNextString(nChar);                else                    m_Text += m_Liste.GetString();                m_Liste.SelectItem(-1);                m_Text += m_EditText.Mid(right);                len = m_Liste.GetString().GetLength();                m_Text += this->m_SeparationStr;//.........这里部分代码省略.........
开发者ID:tribis,项目名称:TortoiseGit,代码行数:101,


示例19: CheckboxWndProc

static int CALLBACK CheckboxWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam){	CCheckboxData *dat = (CCheckboxData*)GetWindowLongPtr(hWnd, GWLP_USERDATA);	if (!dat)		return 0;	switch (Msg) {	case UM_INITCHECKBOX:		{			HFONT hFont = (HFONT)SendMessage(hWnd, WM_GETFONT, 0, 0);			if (!hFont)				hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);			LOGFONT lf;			GetObject(hFont, sizeof(lf), &lf);			lf.lfWeight = FW_BOLD;			dat->hFont = CreateFontIndirect(&lf);			SendMessage(hWnd, UM_AUTOSIZE, 0, 0);		}		return 0;	case UM_AUTOSIZE:		{			HTHEME hTheme = OpenThemeData(hWnd, L"BUTTON");			int Len = GetWindowTextLength(hWnd) + 1;			HDC hdc = GetDC(hWnd);			HFONT hOldFont = (HFONT)SelectObject(hdc, dat->hFont);			RECT rcText = { 0 };			if (hTheme) {				WCHAR *szText = (WCHAR*)_alloca(Len * sizeof(WCHAR));				GetWindowTextW(hWnd, szText, Len);				GetThemeTextExtent(hTheme, hdc, BP_GROUPBOX, IsWindowEnabled(hWnd) ? GBS_NORMAL : GBS_DISABLED, szText, -1, DT_CALCRECT | DT_LEFT | DT_VCENTER | DT_SINGLELINE, 0, &rcText);			}			else {				SIZE size;				TCHAR *szText = (TCHAR*)_alloca(Len * sizeof(TCHAR));				GetWindowText(hWnd, szText, Len);				GetTextExtentPoint32(hdc, szText, (int)mir_tstrlen(szText), &size);				rcText.right = size.cx;				rcText.bottom = size.cy;			}			SelectObject(hdc, hOldFont);			ReleaseDC(hWnd, hdc);			if (hTheme)				CloseThemeData(hTheme);			OffsetRect(&rcText, CG_CHECKBOX_INDENT + CG_CHECKBOX_WIDTH + CG_TEXT_INDENT, 0);			RECT rc;			GetClientRect(hWnd, &rc);			SetWindowPos(hWnd, 0, 0, 0, rcText.right + CG_ADDITIONAL_WIDTH, rc.bottom, SWP_NOMOVE | SWP_NOZORDER);		}		break;	case BM_CLICK:		SendMessage(hWnd, WM_LBUTTONDOWN, 0, 0);		SendMessage(hWnd, WM_LBUTTONUP, 0, 0);		return 0;	case BM_GETCHECK:		return dat->State & CGSM_ISCHECKED;	case BM_SETCHECK:		if ((wParam != BST_UNCHECKED && wParam != BST_CHECKED && wParam != BST_INDETERMINATE) || (wParam == BST_INDETERMINATE && dat->Style != BS_3STATE && dat->Style != BS_AUTO3STATE))			wParam = BST_CHECKED;		dat->State &= ~CGSM_ISCHECKED;		dat->State |= wParam;		InvalidateRect(hWnd, NULL, false);		SendMessage(GetParent(hWnd), WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(hWnd), BN_CLICKED), (LPARAM)hWnd);		return 0;	case BM_SETSTATE:		if (wParam)			dat->State |= CGS_PRESSED;		else			dat->State &= ~CGS_PRESSED;		InvalidateRect(hWnd, NULL, false);		return 0;	case BM_GETSTATE:		return (dat->State & CGSM_GETSTATE) | ((GetFocus() == hWnd) ? BST_FOCUS : 0);	case WM_GETDLGCODE:		return DLGC_BUTTON;	case WM_THEMECHANGED:	case WM_ENABLE:		InvalidateRect(hWnd, NULL, false);		return 0;	case WM_SETTEXT:		if (CallWindowProc(dat->OldWndProc, hWnd, Msg, wParam, lParam))			SendMessage(hWnd, UM_AUTOSIZE, 0, 0);		return 0;	case WM_KEYDOWN:		if (wParam == VK_SPACE)			SendMessage(hWnd, BM_SETSTATE, true, 0);		return 0;//.........这里部分代码省略.........
开发者ID:Seldom,项目名称:miranda-ng,代码行数:101,


示例20: dialogproc

INT_PTR CALLBACK dialogproc(HWND h,UINT m,WPARAM w,LPARAM l){	switch (m) {		case WM_COMMAND:			switch (LOWORD(w)) {				case IDCANCEL:					DestroyWindow(h);					break;				case 10:					{						char file[MAX_PATH]="";						ofn.lpstrFilter="playable files/0*.mo3;*.xm;*.mod;*.s3m;*.it;*.mtm;*.umx;*.mp3;*.mp2;*.mp1;*.ogg;*.wav;*.aif/0All files/0*.*/0/0";						ofn.lpstrFile=file;						if (GetOpenFileName(&ofn)) {							// free both MOD and stream, it must be one of them! :)							BASS_MusicFree(chan);							BASS_StreamFree(chan);#if 1 // with FX flag							if (!(chan=BASS_StreamCreateFile(FALSE,file,0,0,BASS_SAMPLE_LOOP|BASS_SAMPLE_FX))								&& !(chan=BASS_MusicLoad(FALSE,file,0,0,BASS_SAMPLE_LOOP|BASS_MUSIC_RAMP|BASS_SAMPLE_FX,1))) {#else // without FX flag							if (!(chan=BASS_StreamCreateFile(FALSE,file,0,0,BASS_SAMPLE_LOOP))								&& !(chan=BASS_MusicLoad(FALSE,file,0,0,BASS_SAMPLE_LOOP|BASS_MUSIC_RAMP,1))) {#endif								// whatever it is, it ain't playable								MESS(10,WM_SETTEXT,0,"click here to open a file...");								Error("Can't play the file");								break;							}							MESS(10,WM_SETTEXT,0,file);							{ // setup the effects								BASS_DX8_PARAMEQ p;								fx[0]=BASS_ChannelSetFX(chan,BASS_FX_DX8_PARAMEQ,0);								fx[1]=BASS_ChannelSetFX(chan,BASS_FX_DX8_PARAMEQ,0);								fx[2]=BASS_ChannelSetFX(chan,BASS_FX_DX8_PARAMEQ,0);								fx[3]=BASS_ChannelSetFX(chan,BASS_FX_DX8_REVERB,0);								p.fGain=0;								p.fBandwidth=18;								p.fCenter=125;								BASS_FXSetParameters(fx[0],&p);								p.fCenter=1000;								BASS_FXSetParameters(fx[1],&p);								p.fCenter=8000;								BASS_FXSetParameters(fx[2],&p);								UpdateFX(0);								UpdateFX(1);								UpdateFX(2);								UpdateFX(3);							}							BASS_ChannelPlay(chan,FALSE);						}					}					break;			}			break;		case WM_VSCROLL:			if (l) {				UpdateFX(GetDlgCtrlID((HWND)l)-20);			}			break;		case WM_INITDIALOG:			win=h;			memset(&ofn,0,sizeof(ofn));			ofn.lStructSize=sizeof(ofn);			ofn.hwndOwner=h;			ofn.nMaxFile=MAX_PATH;			ofn.Flags=OFN_HIDEREADONLY|OFN_EXPLORER;			// setup output - default device			if (!BASS_Init(-1,44100,0,win,NULL)) {				Error("Can't initialize device");				DestroyWindow(win);				break;			}			{				// check that DX8 features are available				BASS_INFO bi={sizeof(bi)};				BASS_GetInfo(&bi);				if (bi.dsver<8) {					BASS_Free();					Error("DirectX 8 is not installed");					DestroyWindow(win);				}			}			// initialize eq/reverb sliders			MESS(20,TBM_SETRANGE,FALSE,MAKELONG(0,20));			MESS(20,TBM_SETPOS,TRUE,10);			MESS(21,TBM_SETRANGE,FALSE,MAKELONG(0,20));			MESS(21,TBM_SETPOS,TRUE,10);			MESS(22,TBM_SETRANGE,FALSE,MAKELONG(0,20));			MESS(22,TBM_SETPOS,TRUE,10);			MESS(23,TBM_SETRANGE,FALSE,MAKELONG(0,20));			MESS(23,TBM_SETPOS,TRUE,20);			return 1;		case WM_DESTROY:			BASS_Free();			break;	}//.........这里部分代码省略.........
开发者ID:Emulai,项目名称:ICT397-Project,代码行数:101,


示例21: ResStr

//.........这里部分代码省略.........	CCheckListBox::OnRButtonDown(nFlags, point);	CMenu m;	m.CreatePopupMenu();	enum {		ENABLE_ALL = 1,		DISABLE_ALL,		ENABLE_FFMPEG,		DISABLE_FFMPEG,		ENABLE_DXVA,		DISABLE_DXVA,	};	int totalFilters = 0, totalChecked = 0;	for (int i = 0; i < FILTER_TYPE_NB; i++) {		totalFilters += m_nbFiltersPerType[i];		totalChecked += m_nbChecked[i];	}	UINT state = (totalChecked != totalFilters) ? MF_ENABLED : MF_GRAYED;	m.AppendMenu(MF_STRING | state, ENABLE_ALL, ResStr(IDS_ENABLE_ALL_FILTERS));	state = (totalChecked != 0) ? MF_ENABLED : MF_GRAYED;	m.AppendMenu(MF_STRING | state, DISABLE_ALL, ResStr(IDS_DISABLE_ALL_FILTERS));	if (m_n == 1) {		m.AppendMenu(MF_SEPARATOR);		state = (m_nbChecked[FFMPEG_DECODER] != m_nbFiltersPerType[FFMPEG_DECODER]) ? MF_ENABLED : MF_GRAYED;		m.AppendMenu(MF_STRING | state, ENABLE_FFMPEG, ResStr(IDS_ENABLE_FFMPEG_FILTERS));		state = (m_nbChecked[FFMPEG_DECODER] != 0) ? MF_ENABLED : MF_GRAYED;		m.AppendMenu(MF_STRING | state, DISABLE_FFMPEG, ResStr(IDS_DISABLE_FFMPEG_FILTERS));		m.AppendMenu(MF_SEPARATOR);		state = (m_nbChecked[DXVA_DECODER] != m_nbFiltersPerType[DXVA_DECODER]) ? MF_ENABLED : MF_GRAYED;		m.AppendMenu(MF_STRING | state, ENABLE_DXVA, ResStr(IDS_ENABLE_DXVA_FILTERS));		state = (m_nbChecked[DXVA_DECODER] != 0) ? MF_ENABLED : MF_GRAYED;		m.AppendMenu(MF_STRING | state, DISABLE_DXVA, ResStr(IDS_DISABLE_DXVA_FILTERS));	}	CPoint p = point;	::MapWindowPoints(m_hWnd, HWND_DESKTOP, &p, 1);	UINT id = m.TrackPopupMenu(TPM_LEFTBUTTON|TPM_RETURNCMD, p.x, p.y, this);	if (id == 0) {		return;	}	int index = 0;	for (int i = 0; i < countof(s_filters); i++) {		switch (s_filters[i].type) {			case SOURCE_FILTER:				if (m_n == 1) {					continue;				}				break;			case DECODER:			case DXVA_DECODER:			case FFMPEG_DECODER:				if (m_n == 0) {					continue;				}				break;			default:				continue;		}		switch (id) {			case ENABLE_ALL:				SetCheck(index, TRUE);				break;			case DISABLE_ALL:				SetCheck(index, FALSE);				break;			case ENABLE_FFMPEG:				if (s_filters[i].type == FFMPEG_DECODER) {					SetCheck(index, TRUE);				}				break;			case DISABLE_FFMPEG:				if (s_filters[i].type == FFMPEG_DECODER) {					SetCheck(index, FALSE);				}				break;			case ENABLE_DXVA:				if (s_filters[i].type == DXVA_DECODER) {					SetCheck(index, TRUE);				}				break;			case DISABLE_DXVA:				if (s_filters[i].type == DXVA_DECODER) {					SetCheck(index, FALSE);				}				break;		}		index++;	}	GetParent()->SendMessage(WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(), CLBN_CHKCHANGE), (LPARAM)m_hWnd);}
开发者ID:tgoyne,项目名称:VSFilter-Aegisub,代码行数:101,


示例22: Page_About

INT_PTR CALLBACK Page_About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){	switch(message) {	case WM_INITDIALOG:		OnInit(hDlg);		return TRUE;	case WM_DESTROY:{		int controlid;		HFONT hftBold=(HFONT)SendDlgItemMessage(hDlg,IDC_ABT_TITLE,WM_GETFONT,0,0);		HFONT hftBigger=(HFONT)SendDlgItemMessage(hDlg,IDC_STARTUP,WM_GETFONT,0,0);		SendDlgItemMessage(hDlg,IDC_STARTUP,WM_SETFONT,0,0);		for(controlid=GROUP_ABT_B_BEGIN; controlid<=GROUP_ABT_B_END; ++controlid){			SendDlgItemMessage(hDlg,controlid,WM_SETFONT,0,0);		}		DeleteObject(hftBold);		DeleteObject(hftBigger);		break;}	case WM_CTLCOLORSTATIC:{		int id=GetDlgCtrlID((HWND)lParam);		if(id==IDC_ABT_WEBuri || id==IDC_ABT_MAILuri || id==IDC_ABT_FORUMuri) {			return LinkControl_OnCtlColorStatic(hDlg, wParam, lParam);		}		break;}	case WM_COMMAND: {		WORD id;		id = LOWORD(wParam);		if(id == IDC_UPDATE_CHECK) {			HWND options = GetParent(hDlg);			HANDLE proc;			int ret;			MSG msg;			msg.message = 0;			EnableWindow((HWND)lParam, 0);			EnableDlgItem(hDlg, IDC_UPDATE_RELEASE, 0);			EnableDlgItem(hDlg, IDC_UPDATE_BETA, 0);			api.ShellExecute(NULL, L"misc//Options", L"-u", options, SW_HIDE, &proc); // SW_MINIMIZE is buggy			if(proc) {				for(;;) {					ret = MsgWaitForMultipleObjectsEx(1, &proc, INFINITE, QS_ALLEVENTS, MWMO_INPUTAVAILABLE);					if(ret == WAIT_OBJECT_0)						break;					while(PeekMessage(&msg,NULL,0,0,PM_REMOVE) && msg.message != WM_QUIT) {						TranslateDispatchTClockMessage(&msg);					}					if(msg.message == WM_QUIT || !IsWindow(options)) {						if(msg.message == WM_QUIT)							PostQuitMessage((int)msg.wParam);						CloseHandle(proc);						return FALSE;					}				}				CloseHandle(proc);				SetUpdateChecks(hDlg, 0);			}			SetUpdateChecks(hDlg, 1); // might enable IDC_UPDATE_BETA			EnableDlgItem(hDlg, IDC_UPDATE_RELEASE, 1);			EnableWindow((HWND)lParam, 1);			SetForegroundWindow(options);		}else if(id == IDC_ABT_MAILuri) {			OnLinkClicked(hDlg, id);		}else if(id == IDC_UPDATE_RELEASE) {			SetUpdateChecks(hDlg, 1);			SendPSChanged(hDlg);		} else {			SendPSChanged(hDlg);		}		return TRUE;}	case WM_NOTIFY:		switch(((NMHDR*)lParam)->code) {		case PSN_APPLY: OnApply(hDlg); break;		} return TRUE;	}	return FALSE;}
开发者ID:heicks,项目名称:T-Clock,代码行数:74,


示例23: UNREFERENCED_PARAMETER

//.........这里部分代码省略.........                    TitleData* data;                    data = (TitleData*)GetWindowLong(hTitle,GWL_USERDATA);                    TitleDeleteScrollData(data->scrollText);                    data->scrollText = scroll;                }            }            if (REG_ProductStatus(gRegProductContext) == RegRegistered)            {                // The button has served its purpose. Hide it                ShowWindow(GetDlgItem(hDlg, IDC_REGISTER), SW_HIDE);            }            return TRUE;#endif // SDK_REGISTRATION        case IDOK:        case IDCANCEL:            EndDialog(hDlg, wParam);            return TRUE;        default:            return FALSE;        }#ifdef HAVE_WLIB // Need wlib to use WIN32_BrowseURL    case WM_NOTIFY:        if (((LPNMHDR)lParam)->idFrom == IDC_ABOUT_RICHTEXT)        {            char url[256];            ENLINK* link = (ENLINK*)lParam;            if (link->msg == WM_LBUTTONDOWN &&                (link->chrg.cpMax - link->chrg.cpMin) <                (COUNT(url)/2-1)) // EM_GETTEXTRANGE may think it's in WCHARs            {                // Visual effect                HWND hText = link->nmhdr.hwndFrom;                SendMessage(hText,EM_SETSEL,link->chrg.cpMin,link->chrg.cpMax);                // It's not very clear what EM_GETTEXTRANGE message writes                // into the buffer. Since we use SendMessageA (ANSI API),                // I would expect that it returns ANSI string as most other                // text-related messages do. Yet, at least some versions of                // RichEdit control seem to return UCS-2 characters. Internet                // search produces conflicting results. Let's be prepared for                // anything. After all, there are only two possiblities. It's                // either UCS-2 or ASCII.                TEXTRANGEA range;                range.chrg = link->chrg;                range.lpstrText = url;                url[0] = url[1] = 0;                SendMessageA(hText, EM_GETTEXTRANGE, 0, (LPARAM)&range);                url[COUNT(url)-1] = url[COUNT(url)-2] = 0;                if (!_wcsnicmp((WCHAR*)url,L"http://",7))                {                    // Looks like UCS-2 string to me. Convert it to ASCII                    LPWSTR w = (WCHAR*)url;                    LPSTR p = url;                    do { *p++ =  (char)*w++; } while (*w);                    *p = 0;                }                // Start the default browser                WIN32_BrowseURL(url);            }        }        // Usually, the return value is ignored        return FALSE;#endif // HAVE_WLIB#ifdef SDK_REGISTRATION    case WM_CTLCOLORSTATIC:        // We don't want the product key edit control to erase its        // background because it's drawn on top of the product name        // bitmap (white cloud).        {            int nDlgCtrlID = GetDlgCtrlID((HWND)lParam);            switch (nDlgCtrlID)             {            case IDC_PRODUCT_KEY:                // Return transparent brush for the product key control                return (BOOL)GetStockObject(HOLLOW_BRUSH);            }        }        return FALSE;    case WM_LBUTTONDOWN:    case WM_RBUTTONDOWN:    case WM_MBUTTONDOWN:        // Stop scrolling on mouse click        TitleStopScroller(hDlg);        return FALSE;#endif // SDK_REGISTRATION    default:        return FALSE;    }}
开发者ID:fedor4ever,项目名称:packaging,代码行数:101,


示例24: GetParent

//***********************************************************************// Method:	CColorButton::OnSelChange()// Notes:	None.//***********************************************************************LONG CColorButton::OnSelChange(UINT lParam, LONG /*wParam*/){    if (m_bTrackSelection) 		Color = (COLORREF)lParam;    CWnd *pParent = GetParent();    if (pParent) pParent->SendMessage(UM_CPN_SELCHANGE, (m_Color!=CLR_DEFAULT)? m_Color:m_DefaultColor, (WPARAM) GetDlgCtrlID());	//Cax2 defaultcol fix    return TRUE;}
开发者ID:LjApps,项目名称:eMule-VeryCD,代码行数:15,


示例25: helpDlgProc

//.........这里部分代码省略.........	case WM_COMMAND:		switch (LOWORD(wParam)) {		case IDC_OK:			if ((dat->vhs->fi != NULL) && (!(dat->vhs->flags&VHF_DONTFILLSTRUCT))) {				int len = SendMessage(hwndDlg, VARM_GETINPUTTEXTLENGTH, 0, 0);				if (len > 0) {					if ((dat->vhs->fi != NULL) && (!(dat->vhs->flags&VHF_DONTFILLSTRUCT))) {						if (dat->vhs->fi->flags&FIF_UNICODE) {							dat->vhs->fi->tszFormat = (TCHAR*)mir_calloc((len + 1)*sizeof(WCHAR));							SendMessage(hwndDlg, VARM_GETINPUTTEXT, (WPARAM)len + 1, (LPARAM)dat->vhs->fi->tszFormat);						}						else {							dat->vhs->fi->szFormat = (char*)mir_calloc(len + 1);							SendMessageA(hwndDlg, VARM_GETINPUTTEXT, (WPARAM)len + 1, (LPARAM)dat->vhs->fi->szFormat);						}					}				}			}			if (dat->vhs->hwndCtrl != NULL) {				int len = SendMessage(hwndDlg, VARM_GETINPUTTEXTLENGTH, 0, 0);				if (len > 0) {					TCHAR *tszText;					tszText = (TCHAR*)mir_calloc((len + 1)*sizeof(TCHAR));					if (tszText != NULL) {						SendMessage(hwndDlg, VARM_GETINPUTTEXT, (WPARAM)len + 1, (LPARAM)tszText);						SetWindowText(dat->vhs->hwndCtrl, tszText);						mir_free(tszText);					}				}				SendMessage(GetParent(dat->vhs->hwndCtrl),					WM_COMMAND,					MAKEWPARAM(GetDlgCtrlID(dat->vhs->hwndCtrl),					EN_CHANGE),					(LPARAM)dat->vhs->hwndCtrl);			}			if ((dat->vhs->flags&VHF_FULLFILLSTRUCT) && (dat->vhs->fi != NULL)) {				int len = SendMessage(hwndDlg, VARM_GETEXTRATEXTLENGTH, 0, 0);				if (len > 0) {					if (dat->vhs->fi->flags&FIF_UNICODE) {						dat->vhs->fi->tszExtraText = (TCHAR*)mir_calloc((len + 1)*sizeof(WCHAR));						SendMessage(hwndDlg, VARM_GETEXTRATEXT, (WPARAM)len + 1, (LPARAM)dat->vhs->fi->tszExtraText);					}					else {						dat->vhs->fi->szExtraText = (char*)mir_calloc(len + 1);						SendMessageA(hwndDlg, VARM_GETEXTRATEXT, (WPARAM)len + 1, (LPARAM)dat->vhs->fi->szExtraText);					}				}				dat->vhs->fi->hContact = (MCONTACT)SendMessage(hwndDlg, VARM_GETSUBJECT, 0, 0);			}			// fall through		case IDC_CANCEL:			if (GetParent(hwndDlg) == NULL)				DestroyWindow(hwndDlg);			else				EndDialog(hwndDlg, 0);			break;		}		break;	case VARM_SETSUBJECT:		SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT,			SendMessage(dat->hwndSubjectDlg, VARM_SETSUBJECT, wParam, lParam));
开发者ID:martok,项目名称:miranda-ng,代码行数:67,


示例26: SaveStateAndRebuildList

//.........这里部分代码省略.........		else if(group->contact[group->scanIndex].type==CLCIT_INFO) {			if(++savedInfoCount>savedInfoAlloced) {				savedInfoAlloced+=allocstep;				savedInfo=(struct SavedInfoState_t*)mir_realloc(savedInfo,sizeof(struct SavedInfoState_t)*savedInfoAlloced);			}			if(group->parent==NULL) savedInfo[savedInfoCount-1].parentId=-1;			else savedInfo[savedInfoCount-1].parentId=group->groupId;			savedInfo[savedInfoCount-1].contact=group->contact[group->scanIndex];			{				TCHAR * name=NULL;				if(savedInfo[savedInfoCount-1].contact.szText)				{					name=mir_strdupT(savedInfo[savedInfoCount-1].contact.szText);					mir_free(savedInfo[savedInfoCount-1].contact.szText);					savedInfo[savedInfoCount-1].contact.szText=name;					group->contact[group->scanIndex].szText=NULL;				}			}		}		group->scanIndex++;	}	FreeGroup(&dat->list);	RebuildEntireList(hwnd,dat);	group=&dat->list;	group->scanIndex=0;	for(;;) {		if(group->scanIndex==group->contactCount) {			group=group->parent;			if(group==NULL) break;		}		else if(group->contact[group->scanIndex].type==CLCIT_GROUP) {			group=group->contact[group->scanIndex].group;			group->scanIndex=0;			for(i=0;i<savedGroupCount;i++)				if(savedGroup[i].groupId==group->groupId) {					group->expanded=savedGroup[i].expanded;					break;				}			continue;		}		else if(group->contact[group->scanIndex].type==CLCIT_CONTACT) {			for(i=0;i<savedContactCount;i++)				if(savedContact[i].hContact==group->contact[group->scanIndex].hContact) {					CopyMemory(group->contact[group->scanIndex].iExtraImage,savedContact[i].iExtraImage,sizeof(group->contact[group->scanIndex].iExtraImage));					if(savedContact[i].checked) group->contact[group->scanIndex].flags|=CONTACTF_CHECKED;					break;					}			if (group->contact[group->scanIndex].SubAllocated>0)			{				int l;				for (l=0; l<group->contact[group->scanIndex].SubAllocated; l++)					for(i=0;i<savedContactCount;i++)						if(savedContact[i].hContact==group->contact[group->scanIndex].subcontacts[l].hContact) {							CopyMemory(group->contact[group->scanIndex].subcontacts[l].iExtraImage,savedContact[i].iExtraImage,sizeof(group->contact[group->scanIndex].iExtraImage));							if(savedContact[i].checked) group->contact[group->scanIndex].subcontacts[l].flags|=CONTACTF_CHECKED;                            group->contact[group->scanIndex].subcontacts[l].subcontacts=&(group->contact[group->scanIndex]);							break;							}				}		}		group->scanIndex++;	}	if(savedGroup) mir_free(savedGroup);	if(savedContact) mir_free(savedContact);	for(i=0;i<savedInfoCount;i++) {		if(savedInfo[i].parentId==-1) group=&dat->list;		else {			if(!FindItem(hwnd,dat,(HANDLE)(savedInfo[i].parentId|HCONTACT_ISGROUP),&contact,NULL,NULL,TRUE)) continue;			group=contact->group;		}		j=AddInfoItemToGroup(group,savedInfo[i].contact.flags,NULL);		group->contact[j]=savedInfo[i].contact;	}	if(savedInfo) mir_free(savedInfo);	RecalculateGroupCheckboxes(hwnd,dat);	RecalcScrollBar(hwnd,dat);	nm.hdr.code=CLN_LISTREBUILT;	nm.hdr.hwndFrom=hwnd;	nm.hdr.idFrom=GetDlgCtrlID(hwnd);	//srand(GetTickCount());		tick=GetTickCount()-tick;#ifdef _DEBUG	{	char buf[255];	sprintf(buf,"SaveStateAndRebuildList %d /r/n",tick);	TRACE(buf);	}	#endif	ClearRowByIndexCache();       // SetAllExtraIcons(hwnd,0);	SendMessage(GetParent(hwnd),WM_NOTIFY,0,(LPARAM)&nm);}
开发者ID:BackupTheBerlios,项目名称:modernb-svn,代码行数:101,



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


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