HWND SkinEdit_Invoke(WPARAM wParam, LPARAM lParam) { SKINDESCRIPTION *psd = (SKINDESCRIPTION *)lParam; TCITEM tci = {0}; RECT rcClient; int iTabs; if(psd->cbSize != sizeof(SKINDESCRIPTION)) return 0; iTabs = TabCtrl_GetItemCount(psd->hWndTab); GetClientRect(psd->hWndParent, &rcClient); tci.mask = TCIF_PARAM|TCIF_TEXT; tci.lParam = (LPARAM)CreateDialogParam(g_hInst, MAKEINTRESOURCE(IDD_SKINITEMEDIT), psd->hWndParent, (DLGPROC)SkinEdit_ExtBkDlgProc, (LPARAM)psd); tci.pszText = TranslateT("Skin items"); TabCtrl_InsertItem(psd->hWndTab, iTabs++, &tci); MoveWindow((HWND)tci.lParam, 5, 25, rcClient.right - 9, rcClient.bottom - 65, 1); psd->hwndSkinEdit = (HWND)tci.lParam; tci.lParam = (LPARAM)CreateDialogParam(g_hInst, MAKEINTRESOURCE(IDD_IMAGEITEMEDIT), psd->hWndParent, (DLGPROC)SkinEdit_ImageItemEditProc, (LPARAM)psd); tci.pszText = TranslateT("Image items"); TabCtrl_InsertItem(psd->hWndTab, iTabs++, &tci); MoveWindow((HWND)tci.lParam, 5, 25, rcClient.right - 9, rcClient.bottom - 65, 1); psd->hwndImageEdit = (HWND)tci.lParam; return(psd->hwndSkinEdit); }
BOOL OgreMaxExport::setupExportProperties() { // add tabs to the tab control TCITEM tci; HWND tabCtrl = GetDlgItem(m_hWndDlgExport, IDC_TABCONTROL); tci.mask = TCIF_TEXT; tci.pszText = "General"; TabCtrl_InsertItem(tabCtrl, 0, &tci); tci.pszText = "Mesh"; TabCtrl_InsertItem(tabCtrl, 1, &tci); tci.pszText = "Skeletal Animation"; TabCtrl_InsertItem(tabCtrl, 2, &tci); tci.pszText = "Vertex Animation"; TabCtrl_InsertItem(tabCtrl, 3, &tci); tci.pszText = "Material"; TabCtrl_InsertItem(tabCtrl, 4, &tci); // simulate tab select onTabSelectChange(tabCtrl, IDC_TABCONTROL); std::string filename; CenterWindow(m_hWndDlgExport,GetParent(m_hWndDlgExport)); return TRUE; }
LRESULT CColorPicker::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { RECT rc = {0, 0, 0, 0}; m_wndPalette.Create(m_hWnd, rc, _T(""), WS_CHILD | BS_NOTIFY | BS_OWNERDRAW, 0, 1); m_winTab.SubclassWindow(GetDlgItem(IDC_TAB)); m_winList.SubclassWindow(GetDlgItem(IDC_LIST)); TC_ITEM tci; memset(&tci, 0, sizeof TC_ITEM); tci.mask = TCIF_TEXT; tci.pszText = _T("调色板"); TabCtrl_InsertItem(m_winTab, 0, &tci); tci.pszText = _T("系统"); TabCtrl_InsertItem(m_winTab, 1, &tci); for(int i = 0; m_SystemColors[i].clr; i++) { int nIdx = m_winList.SendMessage(LB_ADDSTRING, 0, (LPARAM)_T("")); m_winList.SendMessage(LB_SETITEMDATA, nIdx, i); } m_hFont = (HFONT)::GetStockObject(DEFAULT_GUI_FONT); m_winTab.SendMessage(WM_SETFONT, (WPARAM)m_hFont, true); m_winList.SendMessage(WM_SETFONT,(WPARAM)m_hFont, true); m_wndPalette.SetFont(m_hFont, true); return 0; }
CDisasm::CDisasm(HINSTANCE _hInstance, HWND _hParent, DebugInterface *_cpu) : Dialog((LPCSTR)IDD_DISASM, _hInstance, _hParent) { cpu = _cpu; SetWindowText(m_hDlg,_cpu->GetName()); #ifdef THEMES //if (WTL::CTheme::IsThemingSupported()) //EnableThemeDialogTexture(m_hDlg ,ETDT_ENABLETAB); #endif SetWindowPos(m_hDlg,0,500,200,0,0,SWP_NOSIZE); CtrlDisAsmView *ptr = CtrlDisAsmView::getFrom(GetDlgItem(m_hDlg,IDC_DISASMVIEW)); ptr->setDebugger(cpu); ptr->gotoAddr(0x00000000); CtrlRegisterList *rl = CtrlRegisterList::getFrom(GetDlgItem(m_hDlg,IDC_REGLIST)); rl->setCPU(cpu); GetWindowRect(m_hDlg,&minRect); //symbolMap.FillSymbolListBox(GetDlgItem(m_hDlg, IDC_FUNCTIONLIST),ST_FUNCTION); symbolMap.FillSymbolComboBox(GetDlgItem(m_hDlg, IDC_FUNCTIONLIST),ST_FUNCTION); GetWindowRect(GetDlgItem(m_hDlg, IDC_REGLIST),®Rect); GetWindowRect(GetDlgItem(m_hDlg, IDC_DISASMVIEW),&disRect); HWND tabs = GetDlgItem(m_hDlg, IDC_LEFTTABS); TCITEM tcItem; ZeroMemory (&tcItem,sizeof (tcItem)); tcItem.mask = TCIF_TEXT; tcItem.dwState = 0; tcItem.pszText = "Regs"; tcItem.cchTextMax = (int)strlen(tcItem.pszText)+1; tcItem.iImage = 0; int result1 = TabCtrl_InsertItem(tabs, TabCtrl_GetItemCount(tabs),&tcItem); tcItem.pszText = "Funcs"; tcItem.cchTextMax = (int)strlen(tcItem.pszText)+1; int result2 = TabCtrl_InsertItem(tabs, TabCtrl_GetItemCount(tabs),&tcItem); ShowWindow(GetDlgItem(m_hDlg, IDC_REGLIST), SW_NORMAL); ShowWindow(GetDlgItem(m_hDlg, IDC_FUNCTIONLIST), SW_HIDE); SetTimer(m_hDlg,1,1000,0); /* DWORD intAddress[14] = {0x100, 0x200,0x300,0x400,0x500,0x600,0x700,0x800,0x900,0xc00,0xd00,0xf00,0x1300,0x1700}; char *intName[14] = {"100 Reset","200 Mcheck", "300 DSI","400 ISI","500 External", "600 Align","700 Program","800 FPU N/A","900 DEC","C00 SC", "D00 Trace","F00 Perf","1300 Breakpt","1700 Thermal"};*/ // // --- activate debug mode --- // SetDebugMode(true); }
INT_PTR DialogAbout::OnInitDialog(WPARAM wParam, LPARAM lParam) { static const ControlTemplate::Control s_Controls[] = { CT_BUTTON(Id_CloseButton, ID_STR_CLOSE, 344, 191, 50, 14, WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 0), CT_TAB(Id_Tab, 0, 6, 6, 388, 181, WS_VISIBLE | WS_TABSTOP | TCS_FIXEDWIDTH, 0) // Last for correct tab order. }; CreateControls(s_Controls, _countof(s_Controls), m_Font, GetString); HWND item = GetControl(Id_Tab); m_TabLog.Create(m_Window); m_TabSkins.Create(m_Window); m_TabPlugins.Create(m_Window); m_TabVersion.Create(m_Window); TCITEM tci = {0}; tci.mask = TCIF_TEXT; tci.pszText = GetString(ID_STR_LOG); TabCtrl_InsertItem(item, 0, &tci); tci.pszText = GetString(ID_STR_SKINS); TabCtrl_InsertItem(item, 1, &tci); tci.pszText = GetString(ID_STR_PLUGINS); TabCtrl_InsertItem(item, 2, &tci); tci.pszText = GetString(ID_STR_VERSION); TabCtrl_InsertItem(item, 3, &tci); HICON hIcon = GetIcon(IDI_RAINMETER); SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); item = GetControl(Id_CloseButton); SendMessage(m_Window, WM_NEXTDLGCTL, (WPARAM)item, TRUE); if (IsWindowsVistaOrGreater()) { item = m_TabLog.GetControl(TabLog::Id_ItemsListView); SetWindowTheme(item, L"explorer", nullptr); item = m_TabSkins.GetControl(TabSkins::Id_ItemsListView); SetWindowTheme(item, L"explorer", nullptr); } if (c_WindowPlacement.length == 0) { c_WindowPlacement.length = sizeof(WINDOWPLACEMENT); GetWindowPlacement(m_Window, &c_WindowPlacement); } SetWindowPlacement(m_Window, &c_WindowPlacement); return TRUE; }
/*---------------------------------------------------------------------------------------------- Called by the framework to initialize the dialog. All one-time initialization should be done here (that is, all controls have been created and have valid hwnd's, but they need initial values.) See ${AfDialog#FWndProc} @param hwndCtrl (not used) @param lp (not used) @return true if Successful ----------------------------------------------------------------------------------------------*/ bool ListsPropDlg::OnInitDlg(HWND hwndCtrl, LPARAM lp) { GeneralPropDlgTabPtr qgenp; qgenp.Attach(NewObj GeneralPropDlgTab(this, m_ctidName)); qgenp->EnableLocation(true); qgenp->EnableSize(true); qgenp->EnableModified(true); qgenp->EnableDescription(true); AfDialogViewPtr qdlgv; qdlgv = qgenp; m_vqdlgv.Push(qdlgv); qdlgv.Attach(NewObj DetailsPropDlgTab(this)); m_vqdlgv.Push(qdlgv); m_hwndTab = ::GetDlgItem(m_hwnd, kcidLangProjPropDlgTab); // WARNING: If this ever gets changed to anything but a fixed length buffer, make sure // ti.pszText is set after loading each string, since the memory pointed to by strb // could be different each time. StrAppBuf strb; TCITEM ti; ti.mask = TCIF_TEXT; ti.pszText = const_cast<achar *>(strb.Chars()); // Add a tab to the tab control for each dialog view. strb.Load(kstidGeneralPropTab); TabCtrl_InsertItem(m_hwndTab, kidlgGeneral, &ti); strb.Load(kstidListsDetails); TabCtrl_InsertItem(m_hwndTab, kridDetailsPropDlg, &ti); // This section must be after at least one tab gets added to the tab control. RECT rcTab; ::GetWindowRect(m_hwndTab, &rcTab); TabCtrl_AdjustRect(m_hwndTab, false, &rcTab); POINT pt = { rcTab.left, rcTab.top }; ::ScreenToClient(m_hwnd, &pt); m_dxsClient = pt.x; m_dysClient = pt.y; // Subclass the Help button. AfButtonPtr qbtn; qbtn.Create(); qbtn->SubclassButton(m_hwnd, kctidHelp, kbtHelp, NULL, 0); ShowChildDlg(m_itabInitial); AfApp::Papp()->EnableMainWindows(false); ::SetFocus(m_hwndTab); ::SendMessage(m_hwnd, WM_SETTEXT, 0, (LPARAM)m_strWndCaption.Chars()); return SuperClass::OnInitDlg(hwndCtrl, lp); }
void SetupRSP_RegistersMain (HWND hDlg) { #define WindowWidth 630 #define WindowHeight 325 DWORD X, Y; hTab = CreateWindowEx(0,WC_TABCONTROL,"", WS_TABSTOP | WS_CHILD | WS_VISIBLE,5,6,616,290, hDlg,(HMENU)IDC_TAB_CONTROL,hinstDLL,NULL ); if ( hTab ) { TC_ITEM item; SendMessage(hTab, WM_SETFONT, (WPARAM)GetStockObject( DEFAULT_GUI_FONT ), 0); item.mask = TCIF_TEXT | TCIF_PARAM; item.pszText = " General Purpose "; item.lParam = GeneralPurpose; TabCtrl_InsertItem( hTab,0, &item); item.lParam = ControlProcessor0; item.pszText = " Control Processor 0 "; TabCtrl_InsertItem( hTab,1, &item); item.lParam = HiddenRegisters; item.pszText = " Hidden Registers "; TabCtrl_InsertItem( hTab,2, &item); item.lParam = Vector1; item.pszText = " RSP Vectors $v0 - $v15 "; TabCtrl_InsertItem( hTab,3, &item); item.lParam = Vector2; item.pszText = " RSP Vectors $v16 - $v31 "; TabCtrl_InsertItem( hTab,4, &item); } SetupRSP_HiddenPanel ( hDlg ); SetupRSP_CP0Panel ( hDlg ); SetupRSP_GPRPanel ( hDlg ); SetupRSP_Vect1Panel ( hDlg ); SetupRSP_Vect2Panel ( hDlg ); hStatic = CreateWindowEx(0,"STATIC","", WS_CHILD|WS_VISIBLE, 5,6,616,290,hDlg,0,hinstDLL,NULL ); #ifdef _M_IX86 RefreshProc = (FARPROC)SetWindowLong(hStatic, GWL_WNDPROC, (long)RefreshRSP_RegProc); #else DebugBreak(); #endif UpdateRSPRegistersScreen (); ShowRSP_RegisterPanel ( GeneralPurpose ); SetWindowText(hDlg," RSP Registers"); //if ( !GetStoredWinPos( "RSP Registers", &X, &Y ) ) { X = (GetSystemMetrics( SM_CXSCREEN ) - WindowWidth) / 2; Y = (GetSystemMetrics( SM_CYSCREEN ) - WindowHeight) / 2; //} SetWindowPos(hDlg,NULL,X,Y,WindowWidth,WindowHeight, SWP_NOZORDER | SWP_SHOWWINDOW); }
void TabView_Reset(HWND hwndTabView) { struct TabViewInfo *pTabViewInfo; TC_ITEM tci; int i; TCHAR* t_text; HRESULT res; BOOL b_res; pTabViewInfo = GetTabViewInfo(hwndTabView); b_res = TabCtrl_DeleteAllItems(hwndTabView); memset(&tci, 0, sizeof(tci)); tci.mask = TCIF_TEXT; tci.cchTextMax = 20; for (i = 0; i < pTabViewInfo->nTabCount; i++) { if (!pTabViewInfo->pCallbacks->pfnGetShowTab || pTabViewInfo->pCallbacks->pfnGetShowTab(i)) { t_text = tstring_from_utf8(pTabViewInfo->pCallbacks->pfnGetTabLongName(i)); if( !t_text ) return; tci.pszText = t_text; res = TabCtrl_InsertItem(hwndTabView, i, &tci); osd_free(t_text); } } TabView_UpdateSelection(hwndTabView); }
wyBool ConnectionCommunity::CreateTabs(HWND hwnd, wyUInt32 id, wyBool ispowertools) { HWND hwndtab; wyWChar* titles[] = {L"MySQL", L"HTTP", L"SSH", L"SSL", _(L"Advanced")}; wyInt32 numtabs, count; TCITEM tci = {0}; //if connection dialog is of powertools, then no advanced tab if(ispowertools == wyFalse) numtabs = sizeof(titles)/ sizeof(titles[0]); else numtabs = (sizeof(titles)/ sizeof(titles[0])) - 1; /* get the tab window */ VERIFY(hwndtab = GetDlgItem(hwnd, id)); for(count = 0; count < numtabs; count++) { tci.mask = TCIF_TEXT ;//| TCIF_IMAGE; tci.pszText = titles[count]; VERIFY(TabCtrl_InsertItem(hwndtab, 2000, &tci)!= -1); } return wyTrue; }
int AddTab(HWND TabWindow, HWND Window, const TCHAR* Caption, int Index) { assert(IsWindow(TabWindow)); assert(IsWindow(Window)); assert(Caption); if(Index == -1) Index = TabCtrl_GetItemCount(TabWindow); assert(Index >= 0); TC_ITEM TabData; TabData.mask = TCIF_TEXT | TCIF_PARAM; TabData.pszText = const_cast<TCHAR*>(Caption); TabData.cchTextMax = _tcslen(Caption) + 1; TabData.lParam = reinterpret_cast<LPARAM>(Window); Index = TabCtrl_InsertItem(TabWindow, Index, &TabData); if(Index != -1) { RECT TabRect; GetWindowRect(TabWindow, &TabRect); MapWindowPoints(HWND_DESKTOP, GetParent(TabWindow), reinterpret_cast<POINT*>(&TabRect), 2); TabCtrl_AdjustRect(TabWindow, false, &TabRect); TabRect.right -= TabRect.left; // .right == width TabRect.bottom -= TabRect.top; // .bottom == heigth SetWindowPos(Window, HWND_BOTTOM, TabRect.left, TabRect.top, TabRect.right, TabRect.bottom, SWP_HIDEWINDOW); SetProp(TabWindow, PropName, Window); SetTabThemeTexture(Window, true); } return Index; }
void TabView_Reset(HWND hWndTabView) { struct TabViewInfo *pTabViewInfo = GetTabViewInfo(hWndTabView); TCITEM tci; (void)TabCtrl_DeleteAllItems(hWndTabView); memset(&tci, 0, sizeof(TCITEM)); tci.mask = TCIF_TEXT | TCIF_IMAGE; tci.cchTextMax = 20; for (int i = 0; i < pTabViewInfo->nTabCount; i++) { if (!pTabViewInfo->pCallbacks->pfnGetShowTab || pTabViewInfo->pCallbacks->pfnGetShowTab(i)) { TCHAR *t_text = tstring_from_utf8(pTabViewInfo->pCallbacks->pfnGetTabLongName(i)); if(!t_text) return; tci.pszText = t_text; tci.iImage = i; (void)TabCtrl_InsertItem(hWndTabView, i, &tci); free(t_text); } } TabView_UpdateSelection(hWndTabView); }
BOOL HexCreateNewFile(MAINWND *mainWnd) { // create a new int count; TCITEM tci = { TCIF_TEXT|TCIF_PARAM, 0, 0, TEXT("(Untitled)"), 0, 0 }; tci.lParam = (LPARAM)CreateHexViewCtrl(mainWnd->hwndMain); g_fFileChanged = FALSE; // reset to an empty file SetWindowFileName(mainWnd->hwndMain, TEXT("Untitled"), FALSE, FALSE); g_szFileTitle[0] = '\0'; g_szFileName[0] = '\0'; g_fFileChanged = FALSE; // insert at the end of the tab-list count = TabCtrl_GetItemCount(mainWnd->hwndTabView); TabCtrl_InsertItem(mainWnd->hwndTabView, count, &tci); HexSetCurFile(mainWnd->hwndMain, count, TRUE); return TRUE; }
LRESULT CFireTabCtrl::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { ATLTRACE(_T("CFireTabDlg::OnCreate()\n")); // Setup and create the tab control int nTabs = 3; _TCHAR *pszNames[] = { _T("Wood"), _T("Natural Gas"), _T("Kryptonite") }; RECT rc; GetWindowRect(&rc); rc.right -= rc.left; rc.bottom -= rc.top; rc.top = rc.left = 0; m_ctlSysTabControl32.Create(m_hWnd, rc,_T(""), WS_CLIPCHILDREN | WS_CHILD | WS_VISIBLE | TCS_TABS ); TC_ITEM tie; for( int i = 0; i < nTabs; i++ ) { tie.mask = TCIF_TEXT | TCIF_IMAGE; tie.iImage = -1; tie.pszText = pszNames[i]; tie.cchTextMax = (int)_tcslen(pszNames[i]); if (TabCtrl_InsertItem (m_ctlSysTabControl32.m_hWnd, i, &tie) == -1) { // The insert failed; display an error box. ::MessageBox (NULL, _T("TabCtrl_InsertItem failed!"), NULL, MB_OK); return E_FAIL; } } m_Display.Create(m_ctlSysTabControl32.m_hWnd); TabCtrl_SetCurSel(m_ctlSysTabControl32.m_hWnd, m_Display.m_curColor); m_Display.ShowWindow(TRUE); return 0; }
void PropertyPageHandler_BaseReloc::OnInitDialog() { // Insert Tabs TCITEM item; for (int i = 0; i < m_PEReaderWriter.getNoOfBaseRelocationTables(); ++i) { item.mask = TCIF_TEXT; item.pszText = LPWSTR(_wcsdup(wstring(L"Table " + DWORD_toString(i + 1)).c_str())); TabCtrl_InsertItem(m_hTabsBaseReloc, i, &item); free(item.pszText); } // Insert ListView columns LV_COLUMN column; ZeroMemory(&column, sizeof(LV_COLUMN)); for (size_t i = 0; i < ARRAYSIZE(szGenericColumnText); ++i) { column.mask = LVCF_TEXT; column.pszText = szGenericColumnText[i]; ListView_InsertColumn(m_hListViewBaseRelocTable, i, &column); } tabsBaseRelocations_OnTabChanged(m_hWnd, 0); }
BOOL initDialog(HWND hWnd) { HICON hIcon; TC_ITEM tci; int i; hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_APP_ICON)); SendMessage(hWnd, WM_SETICON, (LPARAM) ICON_BIG, (WPARAM) hIcon); hURLFont = 0; hWndTab = GetDlgItem(hWnd,IDC_TAB); ZeroMemory(&tci, sizeof(TC_ITEM)); tci.mask = TCIF_TEXT; for (i=0;i<NUM_TABS;i++) { tci.pszText = tabsName[i]; if (TabCtrl_InsertItem(hWndTab, i, &tci) == -1) { PrintLastError("TabCtrl_InsertItem()"); return FALSE; } hWndChild[i] = CreateDialogParam(hInst, MAKEINTRESOURCE(tabsResource[i]), hWndTab, (DLGPROC)TabDlgProc, 0); } hURLFont = CreateFont(20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, VARIABLE_PITCH | FF_SWISS, "MS Shell Dlg"); SendMessage(GetDlgItem(hWndChild[NUM_TABS-1], IDC_URL2), WM_SETFONT, (WPARAM)hURLFont, TRUE); currentTab = 0; ShowWindow(hWndChild[0], SW_SHOWDEFAULT); if (!openDevice(TRUE)) { PrintLastError("openDevice()"); return FALSE; } return setDlgItems(hWnd); }
void TabControl::AddTabDialog(Dialog* dialog, wchar_t* title) { HWND handle = dialog->GetDlgHandle(); TCITEM tcItem; ZeroMemory (&tcItem,sizeof (tcItem)); tcItem.mask = TCIF_TEXT; tcItem.dwState = 0; tcItem.pszText = title; tcItem.cchTextMax = (int)wcslen(tcItem.pszText)+1; tcItem.iImage = 0; int index = TabCtrl_GetItemCount(hwnd); int result = TabCtrl_InsertItem(hwnd,index,&tcItem); RECT tabRect; GetWindowRect(hwnd,&tabRect); MapWindowPoints(HWND_DESKTOP,GetParent(hwnd),(LPPOINT)&tabRect,2); TabCtrl_AdjustRect(hwnd, FALSE, &tabRect); SetParent(handle,GetParent(hwnd)); DWORD style = (GetWindowLong(handle,GWL_STYLE) | WS_CHILD) & ~(WS_POPUP | WS_TILEDWINDOW); SetWindowLong(handle, GWL_STYLE, style); MoveWindow(handle,tabRect.left,tabRect.top,tabRect.right-tabRect.left,tabRect.bottom-tabRect.top,TRUE); tabs.push_back(handle); ShowTab(index); }
void File_Addify(HWND hwndChild, HWND hwndEdit, LPTSTR pszFile) { LPFILEINFO lpfi; TC_ITEM tci; lpfi = (LPFILEINFO)Mem_Alloc(sizeof(FILEINFO)); _tcscpy(lpfi->szFileName, pszFile); if (String_NumEqual(pszFile, _T("Edit1"), 5, TRUE)) lpfi->dwFileType |= FI_TYPE_MASK_FIRST; SetWindowLong(hwndChild, GWL_USERDATA, (LONG)lpfi); EditView_SetModify(hwndEdit, FALSE); SetWindowText(hwndChild, pszFile); tci.mask = TCIF_TEXT | TCIF_PARAM; tci.pszText = Path_GetFileName(pszFile); tci.lParam = (LPARAM)hwndChild; TabCtrl_SetCurSel(g_hwndTabWindowBar, TabCtrl_InsertItem(g_hwndTabWindowBar, TabCtrl_GetItemCount(g_hwndTabWindowBar), &tci)); MDI_Child_Edit_EnableToolbarButtons(hwndChild, FALSE); Window_UpdateLayout(g_hwndTabWindowBar); RedrawWindow(g_hwndTabWindowBar, NULL, NULL, RDW_ERASE | RDW_INVALIDATE); }
HWND TabControl::AddTabWindow(wchar_t* className, wchar_t* title, DWORD style) { style |= WS_CHILD; TCITEM tcItem; ZeroMemory (&tcItem,sizeof (tcItem)); tcItem.mask = TCIF_TEXT; tcItem.dwState = 0; tcItem.pszText = title; tcItem.cchTextMax = (int)wcslen(tcItem.pszText)+1; tcItem.iImage = 0; int index = TabCtrl_GetItemCount(hwnd); int result = TabCtrl_InsertItem(hwnd,index,&tcItem); RECT tabRect; GetWindowRect(hwnd,&tabRect); MapWindowPoints(HWND_DESKTOP,GetParent(hwnd),(LPPOINT)&tabRect,2); TabCtrl_AdjustRect(hwnd, FALSE, &tabRect); HWND tabHandle = CreateWindowEx(0,className,title,style, tabRect.left,tabRect.top,tabRect.right-tabRect.left,tabRect.bottom-tabRect.top, GetParent(hwnd),0,MainWindow::GetHInstance(),0); tabs.push_back(tabHandle); ShowTab(index); return tabHandle; }
void addTab( UINT seq, CHAR *Name ) { TC_ITEM T; T.mask=TCIF_TEXT; T.pszText=Name; TabCtrl_InsertItem(hwTab,seq,&T); }
void AddTab(HWND TabWnd, const char *Name, int Resizeable) { RECT TabRect; TCITEM tci; GetClientRect(TabWnd, &TabRect); Tabs[TabCount].Wnd = TabWnd; Tabs[TabCount].Name = Name; Tabs[TabCount].Resizeable = Resizeable; Tabs[TabCount].Width = TabRect.right; Tabs[TabCount].Height = TabRect.bottom; ShowWindow(TabWnd, SW_HIDE); tci.mask = TCIF_TEXT; tci.iImage = -1; tci.pszText = (LPSTR)Name; TabCtrl_InsertItem(MainTabWnd, TabCount, &tci); TabCount++; /* activate the first tab */ if(TabCount == 1) ActivateTab(0); return; }
INT_PTR CDialogAbout::OnInitDialog(WPARAM wParam, LPARAM lParam) { HWND item = GetDlgItem(m_Window, IDCLOSE); SendMessage(m_Window, WM_NEXTDLGCTL, (WPARAM)item, TRUE); HICON hIcon = (HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_RAINMETER), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED); SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); if (*GetString(ID_STR_ISRTL) == L'1') { // Use RTL layout if using a RTL language SetDialogRTL(); } item = GetDlgItem(m_Window, IDC_ABOUT_TAB); TCITEM tci = {0}; tci.mask = TCIF_TEXT; tci.pszText = GetString(ID_STR_LOG); TabCtrl_InsertItem(item, 0, &tci); tci.pszText = GetString(ID_STR_SKINS); TabCtrl_InsertItem(item, 1, &tci); tci.pszText = GetString(ID_STR_PLUGINS); TabCtrl_InsertItem(item, 2, &tci); tci.pszText = GetString(ID_STR_VERSION); TabCtrl_InsertItem(item, 3, &tci); if (CSystem::GetOSPlatform() >= OSPLATFORM_VISTA) { // Use UI font (Segoe UI) on Vista+ SetDialogFont(); HWND item = GetDlgItem(m_TabLog.GetWindow(), IDC_ABOUTLOG_ITEMS_LISTVIEW); SetWindowTheme(item, L"explorer", NULL); item = GetDlgItem(m_TabSkins.GetWindow(), IDC_ABOUTSKINS_ITEMS_LISTVIEW); SetWindowTheme(item, L"explorer", NULL); } if (c_WindowPlacement.length == 0) { c_WindowPlacement.length = sizeof(WINDOWPLACEMENT); GetWindowPlacement(m_Window, &c_WindowPlacement); } SetWindowPlacement(m_Window, &c_WindowPlacement); return FALSE; }
void InsertTab(HWND htab, LPTSTR text, int iid) { TCITEM ti = { 0 }; ti.mask = TCIF_TEXT; ti.pszText = text; ti.cchTextMax = _tcslen(text); TabCtrl_InsertItem(htab, iid, &ti); }
BOOL MapSettingsWindow::DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch ( msg ) { case WM_ACTIVATE: if ( LOWORD(wParam) != WA_INACTIVE ) chkd.SetCurrDialog(hWnd); break; case WM_INITDIALOG: { const char* tabs[7] = { "Map Properties", "Forces", "Unit Settings", "Upgrade Settings", "Tech Settings", "String Editor", "Wav Editor" }; hTabs = GetDlgItem(hWnd, IDC_MAPSETTINGSTABS); LPARAM icon = (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_PROGRAM_ICON), IMAGE_ICON, 16, 16, 0); SendMessage(hTabs, WM_SETFONT, (WPARAM)defaultFont, FALSE); SendMessage(hWnd, WM_SETICON, ICON_SMALL, icon); TCITEM item = { }; item.mask = TCIF_TEXT; item.iImage = -1; for ( int i=0; i<sizeof(tabs)/sizeof(const char*); i++ ) { item.pszText = (LPSTR)tabs[i]; item.cchTextMax = std::strlen(tabs[i]); TabCtrl_InsertItem(hTabs, i, &item); } mapPropertiesWindow.CreateThis(hTabs, WIN_MAPPROPERTIES); forcesWindow.CreateThis(hTabs, WIN_FORCES); unitSettingsWindow.CreateThis(hTabs, WIN_UNITSETTINGS); upgradeSettingsWindow.CreateThis(hTabs, WIN_UPGRADESETTINGS); techSettingsWindow.CreateThis(hTabs, WIN_TECHSETTINGS); stringEditorWindow.CreateThis(hTabs, WIN_STRINGEDITOR); wavEditorWindow.CreateThis(hTabs, WIN_WAVEDITOR); ReplaceChildFonts(defaultFont); RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE); } break; case WM_MOUSEWHEEL: if ( currTab == MapSettings::TAB_STRINGEDITOR ) SendMessage(GetDlgItem(hTabs, WIN_STRINGEDITOR), WM_MOUSEWHEEL, wParam, lParam); else return FALSE; break; default: return FALSE; break; } return TRUE; }
static void flags_InsertTab( char *pszTitle, int iResource, HWND hDlg, TCITEM tcitem, HWND edit, RECT tabrect, RECT tcrect, int &index ) { tcitem.pszText = pszTitle; tcitem.lParam = (LPARAM) CreateDialogParam( g_hInst, MAKEINTRESOURCE( iResource ), hDlg, (DLGPROC)flags_GenericTabCallback, (LPARAM) edit ); TabCtrl_InsertItem( edit, index, &tcitem ); SetWindowPos( (HWND) tcitem.lParam, HWND_TOP, tcrect.left + 3, tcrect.top + tabrect.bottom + 3, tcrect.right - tcrect.left - 8, tcrect.bottom - tcrect.top - tabrect.bottom - 8, 0 ); index++; }
int Notebook::openPage(NotebookPage *np,bool sel) { np->tab.index = pages.size(); pages << np; np->page->parent = this; debug_output("Notebook::openPage(page->create(%s))\n",np->page->getInstance().getName()); np->page->create(window,0); np->page->createAll(0,false); #ifdef USE_GTK GtkWidget *t; if((style&NOTEBOOK_CLOSE_BUTTON)) { GValue val = { 0 }; int w,h; GtkWidget *bt,*im,*l; t = gtk_hbox_new(FALSE,3); l = gtk_label_new(np->tab.name); bt = gtk_button_new(); gtk_widget_set_name(bt,"tab-close-button"); g_value_init(&val,G_TYPE_INT); g_value_set_int(&val,GTK_RELIEF_NONE); g_object_set_property(G_OBJECT(bt),"relief",&val); g_value_unset(&val); im = gtk_image_new_from_stock(GTK_STOCK_CLOSE,GTK_ICON_SIZE_MENU); gtk_icon_size_lookup(GTK_ICON_SIZE_MENU,&w,&h); gtk_widget_set_size_request(bt,w+2,h+2); gtk_container_add(GTK_CONTAINER(bt),im); g_signal_connect(G_OBJECT(bt),"clicked",G_CALLBACK(close_tab_callback),(gpointer)&np->tab); gtk_box_pack_start(GTK_BOX(t),l,TRUE,TRUE,0); gtk_box_pack_start(GTK_BOX(t),bt,FALSE,FALSE,0); np->tab.button = bt; np->tab.label = l; gtk_widget_show_all(t); } else { t = gtk_label_new(np->tab.name); } gtk_widget_show_all(t); np->page->show(); gtk_notebook_append_page(GTK_NOTEBOOK(component),(GtkWidget *)np->page->getComponent(),t); #endif #ifdef USE_WIN32 np->status = 1; // SetParent((HWND)page->getComponent(),(HWND)parent->getComponent()); debug_output("Notebook::openPage(%s)\n",np->tab.name); if(type==WIDGET_NOTEBOOK) { TCITEM ti = {TCIF_TEXT}; ti.pszText = tstrdup(np->tab.name); TabCtrl_InsertItem((HWND)component,np->tab.index,&ti); tfree(ti.pszText); } #endif if(sel) selectPage(np->tab.index); return selected; }
BOOL CMainWnd::AddToTab(LPCTSTR szTabTitle) { TCITEM tie; tie.mask = TCIF_TEXT | TCIF_IMAGE; tie.iImage = -1; tie.pszText = (LPTSTR)szTabTitle; return !(TabCtrl_InsertItem(hTap, TabCtrl_GetItemCount(hTap), &tie) == -1); }
/// <summary> /// Insert a tab item to tab control /// </summary> /// <param name="title">Text displayed on tab item</param> /// <param name="index">Index of tab item</param> void KinectWindow::InsertTabItem(LPWSTR title, int index) { TCITEMW tci = {0}; tci.mask = TCIF_TEXT; tci.iImage = -1; tci.pszText = title; tci.cchTextMax = (int)wcslen(title) + 1; TabCtrl_InsertItem(m_hWndTab, index, &tci); }
INT_PTR CDialogManage::OnInitDialog(WPARAM wParam, LPARAM lParam) { HWND item = GetDlgItem(m_Window, IDCLOSE); SendMessage(m_Window, WM_NEXTDLGCTL, (WPARAM)item, TRUE); HICON hIcon = GetIcon(IDI_RAINMETER); SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); item = GetDlgItem(m_Window, IDC_MANAGE_TAB); TCITEM tci = {0}; tci.mask = TCIF_TEXT; tci.pszText = GetString(ID_STR_SKINS); TabCtrl_InsertItem(item, 0, &tci); tci.pszText = GetString(ID_STR_THEMES); TabCtrl_InsertItem(item, 1, &tci); tci.pszText = GetString(ID_STR_SETTINGS); TabCtrl_InsertItem(item, 2, &tci); if (CSystem::GetOSPlatform() >= OSPLATFORM_VISTA) { // Use UI font (Segoe UI) on Vista+ SetDialogFont(); // Use arrows instead of plus/minus in the tree for Vista+ item = GetDlgItem(m_TabSkins.GetWindow(), IDC_MANAGESKINS_SKINS_TREEVIEW); SetWindowTheme(item, L"explorer", NULL); } item = GetDlgItem(m_TabSkins.GetWindow(), IDC_MANAGESKINS_FILE_TEXT); SendMessage(item, WM_SETFONT, (WPARAM)m_FontBold, 0); if (c_WindowPlacement.length == 0) { c_WindowPlacement.length = sizeof(WINDOWPLACEMENT); GetWindowPlacement(m_Window, &c_WindowPlacement); } SetWindowPlacement(m_Window, &c_WindowPlacement); return FALSE; }
INT_PTR CDialogAbout::OnInitDialog(WPARAM wParam, LPARAM lParam) { HWND item = GetDlgItem(m_Window, IDCLOSE); SendMessage(m_Window, WM_NEXTDLGCTL, (WPARAM)item, TRUE); HICON hIcon = GetIcon(IDI_RAINMETER); SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); item = GetDlgItem(m_Window, IDC_ABOUT_TAB); TCITEM tci = {0}; tci.mask = TCIF_TEXT; tci.pszText = GetString(ID_STR_LOG); TabCtrl_InsertItem(item, 0, &tci); tci.pszText = GetString(ID_STR_SKINS); TabCtrl_InsertItem(item, 1, &tci); tci.pszText = GetString(ID_STR_PLUGINS); TabCtrl_InsertItem(item, 2, &tci); tci.pszText = GetString(ID_STR_VERSION); TabCtrl_InsertItem(item, 3, &tci); if (CSystem::GetOSPlatform() >= OSPLATFORM_VISTA) { // Use UI font (Segoe UI) on Vista+ SetDialogFont(); HWND item = GetDlgItem(m_TabLog.GetWindow(), IDC_ABOUTLOG_ITEMS_LISTVIEW); SetWindowTheme(item, L"explorer", NULL); item = GetDlgItem(m_TabSkins.GetWindow(), IDC_ABOUTSKINS_ITEMS_LISTVIEW); SetWindowTheme(item, L"explorer", NULL); } if (c_WindowPlacement.length == 0) { c_WindowPlacement.length = sizeof(WINDOWPLACEMENT); GetWindowPlacement(m_Window, &c_WindowPlacement); } SetWindowPlacement(m_Window, &c_WindowPlacement); return FALSE; }
//添加关闭Item static void SiTabCtl_AddCloseItem(void) { RECT rect; TCITEM tci; memset(&tci,0,sizeof(TCITEM)); tci.mask = TCIF_TEXT; tci.pszText = "全部关闭"; TabCtrl_InsertItem(hwnd_tab_ctl,SI_TAB_CLOSE_IDX,&tci); //设置固定高度 SendMessage(hwnd_tab_ctl,TCM_GETITEMRECT,SI_TAB_CLOSE_IDX,(LPARAM)&rect); SendMessage(hwnd_tab_ctl,TCM_SETITEMSIZE,SI_TAB_CLOSE_IDX,MAKELPARAM(rect.right-rect.left+1,SI_TAB_HEIGHT)); }