这篇教程C++ GetDlgCtrlID函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetDlgCtrlID函数的典型用法代码示例。如果您正苦于以下问题:C++ GetDlgCtrlID函数的具体用法?C++ GetDlgCtrlID怎么用?C++ GetDlgCtrlID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetDlgCtrlID函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: DlgProcPageLayLRESULT 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: ContactListControlWndProcLRESULT 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_hookstatic 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: ASSERTvoid 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: GbaSlotPianoINT_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: ContactListControlWndProcLRESULT 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: ContactListSubclassProcLRESULT 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: ParentSubclassProcstatic 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: GetWindowTextbool 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: CheckboxWndProcstatic 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: dialogprocINT_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_AboutINT_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函数代码示例 |