INT COutputWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDockablePane::OnCreate(lpCreateStruct) == -1) return -1; m_Font.CreateStockObject(DEFAULT_GUI_FONT); CRect rectDummy; rectDummy.SetRectEmpty(); // 创建选项卡窗口: if (!m_wndTabs.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1)) { TRACE0("未能创建输出选项卡窗口\n"); return -1; // 未能创建 } // 创建输出窗格: CONST DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL; if (!m_wndOutputBuild.Create(dwStyle, rectDummy, &m_wndTabs, 2) || !m_wndOutputDebug.Create(dwStyle, rectDummy, &m_wndTabs, 3) || !m_wndOutputFind.Create(dwStyle, rectDummy, &m_wndTabs, 4)) { TRACE0("未能创建输出窗口\n"); return -1; // 未能创建 } m_wndOutputBuild.SetFont(&m_Font); m_wndOutputDebug.SetFont(&m_Font); m_wndOutputFind.SetFont(&m_Font); CString strTabName; BOOL bNameValid; // 将列表窗口附加到选项卡: bNameValid = strTabName.LoadString(IDS_BUILD_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputBuild, strTabName, (UINT)0); bNameValid = strTabName.LoadString(IDS_DEBUG_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputDebug, strTabName, (UINT)1); bNameValid = strTabName.LoadString(IDS_FIND_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputFind, strTabName, (UINT)2); // 使用一些虚拟文本填写输出选项卡(无需复杂数据) FillBuildWindow(); FillDebugWindow(); FillFindWindow(); return 0; }
int COutputWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDockablePane::OnCreate(lpCreateStruct) == -1) return -1; m_Font.CreateStockObject(DEFAULT_GUI_FONT); CRect rectDummy; rectDummy.SetRectEmpty(); // 탭 창을 만듭니다. if (!m_wndTabs.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1)) { TRACE0("출력 탭 창을 만들지 못했습니다.\n"); return -1; // 만들지 못했습니다. } // 출력 창을 만듭니다. const DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL; if (!m_wndOutputBuild.Create(dwStyle, rectDummy, &m_wndTabs, 2) || !m_wndOutputDebug.Create(dwStyle, rectDummy, &m_wndTabs, 3) || !m_wndOutputFind.Create(dwStyle, rectDummy, &m_wndTabs, 4)) { TRACE0("출력 창을 만들지 못했습니다.\n"); return -1; // 만들지 못했습니다. } m_wndOutputBuild.SetFont(&m_Font); m_wndOutputDebug.SetFont(&m_Font); m_wndOutputFind.SetFont(&m_Font); CString strTabName; BOOL bNameValid; // 탭에 목록 창을 연결합니다. bNameValid = strTabName.LoadString(IDS_BUILD_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputBuild, strTabName, (UINT)0); bNameValid = strTabName.LoadString(IDS_DEBUG_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputDebug, strTabName, (UINT)1); bNameValid = strTabName.LoadString(IDS_FIND_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputFind, strTabName, (UINT)2); // 출력 탭을 더미 텍스트로 채웁니다. FillBuildWindow(); FillDebugWindow(); FillFindWindow(); return 0; }
int COutputWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDockablePane::OnCreate(lpCreateStruct) == -1) return -1; CRect rectDummy; rectDummy.SetRectEmpty(); // Create tabs window: if (!m_wndTabs.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1)) { TRACE0("Failed to create output tab window\n"); return -1; // fail to create } // Create output panes: const DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL; if (!m_wndOutputBuild.Create(dwStyle, rectDummy, &m_wndTabs, 2) || !m_wndOutputDebug.Create(dwStyle, rectDummy, &m_wndTabs, 3) || !m_wndOutputFind.Create(dwStyle, rectDummy, &m_wndTabs, 4)) { TRACE0("Failed to create output windows\n"); return -1; // fail to create } UpdateFonts(); CString strTabName; BOOL bNameValid; // Attach list windows to tab: bNameValid = strTabName.LoadString(IDS_BUILD_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputBuild, strTabName, (UINT)0); bNameValid = strTabName.LoadString(IDS_DEBUG_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputDebug, strTabName, (UINT)1); bNameValid = strTabName.LoadString(IDS_FIND_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputFind, strTabName, (UINT)2); // Fill output tabs with some dummy text (nothing magic here) FillBuildWindow(); FillDebugWindow(); FillFindWindow(); return 0; }
int COutputWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDockablePane::OnCreate(lpCreateStruct) == -1) return -1; CRect rectDummy; rectDummy.SetRectEmpty(); // Créer la fenêtre d'onglets : if (!m_wndTabs.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1)) { TRACE0("Impossible de créer la fenêtre d'onglets de sortie\n"); return -1; // échec de la création } // Créer les volets de sortie : const DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL; if (!m_wndOutputBuild.Create(dwStyle, rectDummy, &m_wndTabs, 2) || !m_wndOutputDebug.Create(dwStyle, rectDummy, &m_wndTabs, 3) || !m_wndOutputFind.Create(dwStyle, rectDummy, &m_wndTabs, 4)) { TRACE0("Impossible de créer les fenêtres Sortie\n"); return -1; // échec de la création } UpdateFonts(); CString strTabName; BOOL bNameValid; // Attacher les fenêtres de listes à l'onglet : bNameValid = strTabName.LoadString(IDS_BUILD_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputBuild, strTabName, (UINT)0); bNameValid = strTabName.LoadString(IDS_DEBUG_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputDebug, strTabName, (UINT)1); bNameValid = strTabName.LoadString(IDS_FIND_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputFind, strTabName, (UINT)2); // Remplir les onglets de sortie avec du texte factice (rien de magique ici) FillBuildWindow(); FillDebugWindow(); FillFindWindow(); return 0; }
int COutputWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDockablePane::OnCreate(lpCreateStruct) == -1) return -1; CRect rectDummy; rectDummy.SetRectEmpty(); // Crear ventana de fichas: if (!m_wndTabs.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1)) { TRACE0("No se pudo crear la ventana de fichas de resultados\n"); return -1; // no se pudo crear } // Crear paneles de resultados: const DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL; if (!m_wndOutputLog.Create(dwStyle, rectDummy, &m_wndTabs, 2) || !m_wndOutputDebug.Create(dwStyle, rectDummy, &m_wndTabs, 3) || !m_wndOutputFind.Create(dwStyle, rectDummy, &m_wndTabs, 4)) { TRACE0("No se pudieron crear las ventanas de salida\n"); return -1; // no se pudo crear } UpdateFonts(); CString strTabName; BOOL bNameValid; // Adjuntar ventanas de lista a la ficha: bNameValid = strTabName.LoadString(IDS_BUILD_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputLog, strTabName, (UINT)0); bNameValid = strTabName.LoadString(IDS_DEBUG_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputDebug, strTabName, (UINT)1); bNameValid = strTabName.LoadString(IDS_FIND_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputFind, strTabName, (UINT)2); // Rellenar fichas de resultados con texto ficticio (nada especial) //FillBuildWindow(); FillDebugWindow(); FillFindWindow(); return 0; }
int COutputWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDockablePane::OnCreate(lpCreateStruct) == -1) return -1; CRect rectDummy; rectDummy.SetRectEmpty(); // 建立索引標籤視窗: if (!m_wndTabs.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1)) { TRACE0("無法建立輸出索引標籤視窗\n"); return -1; // 無法建立 } // 建立輸出窗格: const DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL; if (!m_wndOutputBuild.Create(dwStyle, rectDummy, &m_wndTabs, 2) || !m_wndOutputDebug.Create(dwStyle, rectDummy, &m_wndTabs, 3) || !m_wndOutputFind.Create(dwStyle, rectDummy, &m_wndTabs, 4)) { TRACE0("無法建立輸出視窗\n"); return -1; // 無法建立 } UpdateFonts(); // 附加清單視窗到索引標籤: // phlin m_wndObjText.Create(WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_LEFT | ES_WANTRETURN ,// | ES_READONLY, rectDummy /*CRect(0,0,0,0)*/, &m_wndTabs, 5); m_wndTabs.AddTab(&m_wndObjText, _T(".obj"), (UINT)0); UpdateFonts(); m_wndObjText.SetWindowTextW(_T("obj viewer\ntest")); // font.CreatePointFont(120, _T("新細明體")); // font.CreatePointFont(120, _T("標楷體")); font.CreatePointFont(110, _T("Courier New")); m_wndObjText.SetFont(&font); // CString str = _T("init"); // str.AppendFormat(_T("%d\r\n%d"), 1, 2); CString str; str.LoadStringW(IDS_NO_MODEL); m_wndObjText.SetWindowTextW(str); CString strTabName; BOOL bNameValid; bNameValid = strTabName.LoadString(IDS_BUILD_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputBuild, strTabName, (UINT)1); bNameValid = strTabName.LoadString(IDS_DEBUG_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputDebug, strTabName, (UINT)2); bNameValid = strTabName.LoadString(IDS_FIND_TAB); ASSERT(bNameValid); m_wndTabs.AddTab(&m_wndOutputFind, strTabName, (UINT)3); // 在輸出索引標籤中填入一些假文字 (不需要什麼特別的內容) FillBuildWindow(); FillDebugWindow(); FillFindWindow(); return 0; }