LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); m_hWndClient = m_view.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL, WS_EX_CLIENTEDGE); m_view.SetScrollSize(1,1); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); return 0; }
// Frame creation LRESULT WaitingUsersFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); // Create tree control ctrlQueued.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE, 0U); ctrlQueued.SetBkColor(WinUtil::bgColor); ctrlQueued.SetTextColor(WinUtil::textColor); closed = false; // Create context menu contextMenu.CreatePopupMenu(); contextMenu.AppendMenu(MF_STRING, IDC_GETLIST, CTSTRING(GET_FILE_LIST)); contextMenu.AppendMenu(MF_STRING, IDC_COPY_FILENAME, CTSTRING(COPY_FILENAME)); contextMenu.AppendMenu(MF_STRING, IDC_REMOVE, CTSTRING(REMOVE)); contextMenu.AppendMenu(MF_STRING, IDC_GRANTSLOT, CTSTRING(GRANT_EXTRA_SLOT)); contextMenu.AppendMenu(MF_STRING, IDC_ADD_TO_FAVORITES, CTSTRING(ADD_TO_FAVORITES)); contextMenu.AppendMenu(MF_STRING, IDC_PRIVATEMESSAGE, CTSTRING(SEND_PRIVATE_MESSAGE)); // Load all waiting users & files. LoadAll(); UpdateLayout(TRUE); updateStatus(); WinUtil::SetIcon(m_hWnd, _T("wuicon.ico")); bHandled = FALSE; return TRUE; }
LRESULT MainFrameBase::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); SetupCmdbar(); //SetupToolbar(); CreateSimpleStatusBar(); UISetCheck(ID_VIEW_STATUS_BAR, 1); SetupMDIClient(); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); // floating stuff InitializeDockingFrame(); UpdateLayout(); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); // Create the splitter windows. const DWORD dwSplitStyle = CHILD_WND_STYLE; m_wndVerSplit1.Create (*this, rcDefault, NULL, dwSplitStyle); m_wndVerSplit1.m_bFullDrag = false; m_wndVerSplit1.m_cxyMin = 200; m_wndVerSplit1.SetSplitterPos(200); m_wndVerSplit2.Create(m_wndVerSplit1, rcDefault, NULL, dwSplitStyle); m_wndVerSplit2.m_bFullDrag = false; m_wndVerSplit2.m_cxyMin = 200; m_wndVerSplit2.SetSplitterPos(200); // Create splitter view const DWORD dwViewStyle = CHILD_WND_STYLE; const DWORD dwViewStyleEx = WS_EX_CLIENTEDGE; m_wndLeftView.Create(m_wndVerSplit1, rcDefault, NULL, dwViewStyle, dwViewStyleEx); m_wndMiddleView.Create(m_wndVerSplit2, rcDefault, NULL, dwViewStyle, dwViewStyleEx); m_wndRightView.Create(m_wndVerSplit2, rcDefault, NULL, dwViewStyle, dwViewStyleEx); m_wndVerSplit1.SetSplitterPanes(m_wndLeftView, m_wndVerSplit2); m_wndVerSplit2.SetSplitterPanes(m_wndMiddleView, m_wndRightView); m_hWndClient = m_wndVerSplit1; // Set the splitter as the client area window, and resize the splitter // to match the frame size. UpdateLayout(); return 0; }
LRESULT CMiniPieFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { CAppInfo info; // Full screen mode delayed restoration bool bFull = false; info.Restore(bFull, L"Full"); if (bFull) PostMessage(WM_COMMAND, ID_VIEW_FULLSCREEN); CreateSimpleCEMenuBar(); #ifdef WIN32_PLATFORM_WFSP // SmartPhone AtlActivateBackKey(m_hWndCECommandBar); #endif UIAddToolBar(m_hWndCECommandBar); SetCommandButton(ID_APP_EXIT); // StatusBar state restoration bool bVisible = true; info.Restore(bVisible, L"Status"); DWORD dwStyle = WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CCS_TOP; if (bVisible) dwStyle |= WS_VISIBLE; // StatusBar creation CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, dwStyle); UIAddStatusBar(m_hWndStatusBar); UISetCheck(ID_VIEW_STATUS_BAR, bVisible); // Browser view creation m_hWndClient = m_browser.Create(m_hWnd, NULL, _T("Microsoft.PIEDocView"), WS_CHILD | WS_VISIBLE | WS_BORDER, 0, ID_BROWSER); ATLVERIFY(SUCCEEDED(m_browser.QueryControl(&m_spIWebBrowser2))); ATLVERIFY(SUCCEEDED(AtlAdviseSinkMap(this, true))); // Navigation menu initialization UIEnable(IDM_BACK, FALSE); UIEnable(IDM_FORWARD, FALSE); UIEnable(IDM_STOP, FALSE); UIEnable(IDM_REFRESH, FALSE); #ifdef WIN32_PLATFORM_PSPC // PPC Address bar state restoration VARIANT_BOOL vb = ATL_VARIANT_TRUE; info.Restore(vb, L"Address"); m_spIWebBrowser2->put_AddressBar(vb); UISetCheck(ID_VIEW_ADDRESSBAR, vb == ATL_VARIANT_TRUE); #endif // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // Check if Common Controls 6.0 are used. If yes, use 32-bit (alpha) images // for the toolbar and command bar. If not, use the old, 4-bit images. UINT uResID = IDR_MAINFRAME_OLD; DWORD dwMajor = 0; DWORD dwMinor = 0; HRESULT hRet = AtlGetCommCtrlVersion(&dwMajor, &dwMinor); if(SUCCEEDED(hRet) && dwMajor >= 6) uResID = IDR_MAINFRAME; // Set values to be displayed in the view window m_view.m_dwCommCtrlMajor = dwMajor; m_view.m_dwCommCtrlMinor = dwMinor; m_view.m_bAlpha = (uResID == IDR_MAINFRAME); // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(uResID); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, uResID, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); _createVerticalSplitter(); _createCanvas(); _createHoricalSplitter(); _createTreeView(); _createAnimationBox(); UpdateLayout(); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_RENDER_BAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); UIEnable(ID_EDIT_PASTE, FALSE); _canvas = NULL; // return 0; }
LRESULT CDMDebugFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { ctrlPad.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_VSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_READONLY, WS_EX_CLIENTEDGE); ctrlPad.LimitText(0); ctrlPad.SetFont(WinUtil::font); CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); statusContainer.SubclassWindow(ctrlStatus.m_hWnd); ctrlClear.Create(ctrlStatus.m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON, 0, IDC_CLEAR); ctrlClear.SetWindowText(_T("Clear")); ctrlClear.SetFont(WinUtil::systemFont); clearContainer.SubclassWindow(ctrlClear.m_hWnd); ctrlHubCommands.Create(ctrlStatus.m_hWnd, rcDefault, _T("Hub Commands"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_STATICEDGE); ctrlHubCommands.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlHubCommands.SetFont(WinUtil::systemFont); ctrlHubCommands.SetCheck(showHubCommands ? BST_CHECKED : BST_UNCHECKED); HubCommandContainer.SubclassWindow(ctrlHubCommands.m_hWnd); ctrlTCPCommands.Create(ctrlStatus.m_hWnd, rcDefault, _T("Client Commands (TCP)"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_STATICEDGE); ctrlTCPCommands.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlTCPCommands.SetFont(WinUtil::systemFont); ctrlTCPCommands.SetCheck(showTCPCommands ? BST_CHECKED : BST_UNCHECKED); commandTCPContainer.SubclassWindow(ctrlTCPCommands.m_hWnd); ctrlUDPCommands.Create(ctrlStatus.m_hWnd, rcDefault, _T("Client Commands (UDP)"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_STATICEDGE); ctrlUDPCommands.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlUDPCommands.SetFont(WinUtil::systemFont); ctrlUDPCommands.SetCheck(showUDPCommands ? BST_CHECKED : BST_UNCHECKED); commandUDPContainer.SubclassWindow(ctrlUDPCommands.m_hWnd); ctrlFilterIp.Create(ctrlStatus.m_hWnd, rcDefault, _T("Filter"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_STATICEDGE); ctrlFilterIp.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlFilterIp.SetFont(WinUtil::systemFont); ctrlFilterIp.SetCheck(bFilterIp ? BST_CHECKED : BST_UNCHECKED); cFilterContainer.SubclassWindow(ctrlFilterIp.m_hWnd); ctrlFilterText.Create(ctrlStatus.m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | ES_NOHIDESEL, WS_EX_STATICEDGE, IDC_DEBUG_FILTER_TEXT); ctrlFilterText.LimitText(0); ctrlFilterText.SetFont(WinUtil::font); eFilterContainer.SubclassWindow(ctrlStatus.m_hWnd); m_hWndClient = ctrlPad; m_hMenu = WinUtil::mainMenu; WinUtil::SetIcon(m_hWnd, IDI_CDM); start(); DebugManager::getInstance()->addListener(this); bHandled = FALSE; return 1; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { hThread = 0; // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HICON hIconSmall = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME), IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR); InstallIcon(_T("Tooltip text"), hIconSmall, IDR_TRAYPOPUP); SetDefaultItem(ID_SHOW); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); WTL::CRect r(0, 0, 800, 600); m_hWndClient = m_view.Create(m_hWnd, r, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | LBS_WANTKEYBOARDINPUT, WS_EX_CLIENTEDGE); m_view.SetFont(AtlGetDefaultGuiFont()); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { CNCaptureApplication::Instance()->m_pMainFrame = this; // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); m_hWndClient = m_view.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); m_view.Initialize(); #ifdef FTL_DEBUG HRESULT hr = E_FAIL; CWindowDC dcScreen(NULL); m_bitmap.CreateCompatibleBitmap(dcScreen, 100, 100); CCapImageObj* pImageObj = new CCapImageObj(TEXT("G:\\TestImage.PNG"), NULL); COM_VERIFY(pImageObj->Load(TEXT("G:\\TestImage.PNG"))); if (SUCCEEDED(hr)) { CNCaptureApplication::Instance()->GetDocument()->SetCurCaptureImage(pImageObj); } #endif UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CString szAddress; szAddress.LoadString(IDS_ADDRESS); m_URL.Create(m_hWnd,CRect(0,0,0,18),NULL,WS_CHILD|WS_VISIBLE,WS_EX_STATICEDGE); AddSimpleReBarBand(m_URL,szAddress.GetBuffer(0),TRUE); m_URL.SetFont(AtlGetDefaultGuiFont()); SHAutoComplete(m_URL,SHACF_URLALL); CreateSimpleStatusBar(); m_StatusBar.SubclassWindow(m_hWndStatusBar); int nPanes[]={ID_DEFAULT_PANE,IDR_LOCK,IDR_PROGRESS}; m_StatusBar.SetPanes(nPanes,sizeof(nPanes)/sizeof(int),false); m_StatusBar.SetPaneWidth(IDR_LOCK,30); m_StatusBar.SetPaneWidth(IDR_PROGRESS,50); //TODO: Replace with a URL of your choice m_hWndClient = m_view.Create(m_hWnd, rcDefault, _T("about:blank"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL, WS_EX_CLIENTEDGE); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); m_view.GoHome(); return 0; }
LRESULT CMainFrame::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { CRect rect; AtlAxWinInit(); // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // atach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); m_sbar.SubclassWindow(m_hWndStatusBar); m_sbar.SetPanes(arrParts, sizeof(arrParts) / sizeof(int), false); GetClientRect(&rect); m_hWndClient = m_wndScriptEidor.Create(m_hWnd, rect, _T(""), WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS); m_spScriptEditor.CoCreateInstance(CLSID_CxScriptEditor); CComPtr<IAxWinHostWindow> spContainer; m_wndScriptEidor.QueryHost(&spContainer); // Attach the browser control to the container spContainer->AttachControl(m_spScriptEditor, m_wndScriptEidor); DispEventAdvise(m_spScriptEditor); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_SYMBOL, 1); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); m_hWndClient = m_splitter.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_pane.SetPaneContainerExtendedStyle(PANECNT_NOBORDER); m_pane.Create(m_splitter, _T("Tree"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_treeview.Create(m_pane, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | TVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE); m_pane.SetClient(m_treeview); m_view.Create(m_splitter, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); m_splitter.SetSplitterPanes(m_pane, m_view); UpdateLayout(); m_splitter.SetSplitterPos(300); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); UISetCheck(ID_VIEW_TREEPANE, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); CReBarCtrl bar = m_hWndToolBar; int nBandIndex = bar.IdToIndex(ATL_IDW_BAND_FIRST + 1); // toolbar is 2nd added band bar.ShowBand(nBandIndex, FALSE); ::ShowWindow(m_hWndStatusBar, SW_HIDE); UpdateLayout(); m_hWndClient = m_view.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 0); UISetCheck(ID_VIEW_STATUS_BAR, 0); UISetCheck(ID_VIEW_SHOWBALLVECTORS, m_simcontrol.GetShowVectors()); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); m_simcontrol.SetView(&m_view); m_simcontrol.Init(); SetTimer(TIMER_FRAME, 10); return 0; }
LRESULT UsersFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); ctrlUsers.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS , WS_EX_CLIENTEDGE, IDC_USERS); ctrlUsers.SetExtendedListViewStyle(LVS_EX_LABELTIP | LVS_EX_HEADERDRAGDROP | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT); ctrlUsers.SetBkColor(WinUtil::bgColor); ctrlUsers.SetTextBkColor(WinUtil::bgColor); ctrlUsers.SetTextColor(WinUtil::textColor); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(USERSFRAME_ORDER), COLUMN_LAST); WinUtil::splitTokens(columnSizes, SETTING(USERSFRAME_WIDTHS), COLUMN_LAST); for(int j=0; j<COLUMN_LAST; j++) { ctrlUsers.InsertColumn(j, CTSTRING_I(columnNames[j]), LVCFMT_LEFT, columnSizes[j], j); } ctrlUsers.SetColumnOrderArray(COLUMN_LAST, columnIndexes); ctrlUsers.setSortColumn(COLUMN_NICK); usersMenu.CreatePopupMenu(); appendUserItems(usersMenu); usersMenu.AppendMenu(MF_SEPARATOR); usersMenu.AppendMenu(MF_STRING, IDC_EDIT, CTSTRING(PROPERTIES)); usersMenu.AppendMenu(MF_STRING, IDC_REMOVE, CTSTRING(REMOVE)); FavoriteManager::getInstance()->addListener(this); FavoriteManager::FavoriteMap ul = FavoriteManager::getInstance()->getFavoriteUsers(); ctrlUsers.SetRedraw(FALSE); for(FavoriteManager::FavoriteMap::iterator i = ul.begin(); i != ul.end(); ++i) { addUser(i->second); } ctrlUsers.SetRedraw(TRUE); startup = false; bHandled = FALSE; return TRUE; }
LRESULT UsersFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); ctrlUsers.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS, WS_EX_CLIENTEDGE, IDC_USERS); ctrlUsers.SetExtendedListViewStyle(LVS_EX_LABELTIP | LVS_EX_HEADERDRAGDROP | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER | LVS_EX_INFOTIP); images.CreateFromImage(IDB_FAVSTATES, 16, 3, CLR_DEFAULT, IMAGE_BITMAP, LR_CREATEDIBSECTION | LR_SHARED); ctrlUsers.SetImageList(images, LVSIL_SMALL); ctrlUsers.SetBkColor(WinUtil::bgColor); ctrlUsers.SetTextBkColor(WinUtil::bgColor); ctrlUsers.SetTextColor(WinUtil::textColor); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(USERSFRAME_ORDER), COLUMN_LAST); WinUtil::splitTokens(columnSizes, SETTING(USERSFRAME_WIDTHS), COLUMN_LAST); for(uint8_t j=0; j<COLUMN_LAST; j++) { ctrlUsers.InsertColumn(j, CTSTRING_I(columnNames[j]), LVCFMT_LEFT, columnSizes[j], j); } ctrlUsers.setColumnOrderArray(COLUMN_LAST, columnIndexes); ctrlUsers.setSortColumn(COLUMN_NICK); FavoriteManager::getInstance()->addListener(this); SettingsManager::getInstance()->addListener(this); FavoriteManager::FavoriteMap ul = FavoriteManager::getInstance()->getFavoriteUsers(); ctrlUsers.SetRedraw(FALSE); for(FavoriteManager::FavoriteMap::const_iterator i = ul.begin(); i != ul.end(); ++i) { addUser(i->second); } ctrlUsers.SetRedraw(TRUE); startup = false; bHandled = FALSE; return TRUE; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { m_pView = new CDispView(); m_pParameterDialog = new CParameterDialog(); m_pParameterDialog->Create(m_hWnd, rcDefault); CRect rec; GetWindowRect(rec); m_pParameterDialog->CenterWindow(m_hWnd); m_pParameterDialog->m_onParameterChangeDelegate.bind(this, &CMainFrame::onParameterChange); // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); m_hWndClient = m_pView->Create(m_hWnd); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); ::DragAcceptFiles(m_hWnd, TRUE); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { CreateSimpleToolBar(); CreateSimpleStatusBar(); m_hWndClient = m_view.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); UIAddToolBar(m_hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); return 0; }
/// \see http://www.codeproject.com/Articles/2948/How-to-use-the-WTL-multipane-status-bar-control void MainFrame::SetupStatusBar() { // added WS_CLIPCHILDREN to default styles CreateSimpleStatusBar( ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); m_statusBar.SubclassWindow(m_hWndStatusBar); // set status bar panes. ID_DEFAULT_PANE is defined by WTL int arrPanes[] = { ID_DEFAULT_PANE, IDR_PANE_SCRIPT_STATUS }; m_statusBar.SetPanes(arrPanes, sizeof(arrPanes) / sizeof(int), false); m_statusBar.SetPaneWidth(IDR_PANE_SCRIPT_STATUS, 150); OnExecutionStateChanged(LuaScheduler::stateIdle); m_processor.GetScheduler().SetExecutionStateChangedHandler( std::bind(&MainFrame::OnExecutionStateChanged, this, std::placeholders::_1)); }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { CreateSimpleToolBar(); CreateSimpleStatusBar(); m_hWndClient = m_view.Create(m_hWnd); UIAddToolBar(m_hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); UISetCheck(ID_TOOLS_REPEAT, 1); UISetCheck(ID_SPEED_100, 1); lastSpeedId=ID_SPEED_100; // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); // Init MRU list CMenuHandle mainMenu = GetMenu(); CMenuHandle fileMenu = mainMenu.GetSubMenu(0); CMenuHandle mruMenu = fileMenu.GetSubMenu(9); m_mru.SetMenuHandle ( mruMenu ); m_mru.UpdateMenu(); m_mru.ReadFromRegistry(APP_SETTINGS_KEY); m_mru.SetMaxEntries(4); UIEnable ( ID_TOOLS_START, true ); UIEnable ( ID_TOOLS_STOP, false ); return 0; }
LRESULT MainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { EnteredNewSystem(); #ifdef UNDER_CE CreateSimpleCEMenuBar(IDR_MAINFRAME, SHCMBF_HMENU); // create tab view m_hWndClient = m_tabView.Create(m_hWnd, rcDefault); #else CreateSimpleToolBar(); CreateSimpleStatusBar(); CRect rcWindow = rcDefault; // TODO m_hWndClient = m_tabView.Create(m_hWnd, rcWindow, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); // CMenuHandle menuMain = GetMenu(); // m_tabView.SetWindowMenu(menuMain.GetSubMenu(WINDOW_MENU_POSITION)); #endif // create tab windows m_marketView.Create(m_tabView); m_planetInfoView.Create(m_tabView); m_shortRangeMapView.Create(m_tabView); m_tabView.AddPage(m_shortRangeMapView, _T("Local Map")); m_tabView.AddPage(m_marketView, _T("Market")); m_tabView.AddPage(m_planetInfoView, _T("Planet Info")); m_tabView.SetActivePage(0); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); return 0; }
LRESULT WaitingUsersFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { m_showTree = BOOLSETTING(UPLOADQUEUEFRAME_SHOW_TREE); // status bar CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); m_ctrlList.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS, WS_EX_CLIENTEDGE, IDC_UPLOAD_QUEUE); SET_EXTENDENT_LIST_VIEW_STYLE(m_ctrlList); ctrlQueued.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP, WS_EX_CLIENTEDGE, IDC_DIRECTORIES); ctrlQueued.SetImageList(g_fileImage.getIconList(), TVSIL_NORMAL); m_ctrlList.SetImageList(g_fileImage.getIconList(), LVSIL_SMALL); m_nProportionalPos = SETTING(UPLOADQUEUEFRAME_SPLIT); SetSplitterPanes(ctrlQueued.m_hWnd, m_ctrlList.m_hWnd); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(UPLOADQUEUEFRAME_ORDER), UploadQueueItem::COLUMN_LAST); WinUtil::splitTokensWidth(columnSizes, SETTING(UPLOADQUEUEFRAME_WIDTHS), UploadQueueItem::COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnSizes) == UploadQueueItem::COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnNames) == UploadQueueItem::COLUMN_LAST); // column names, sizes for (uint8_t j = 0; j < UploadQueueItem::COLUMN_LAST; j++) { const int fmt = (j == UploadQueueItem::COLUMN_TRANSFERRED || j == UploadQueueItem::COLUMN_SIZE) ? LVCFMT_RIGHT : LVCFMT_LEFT; m_ctrlList.InsertColumn(j, TSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } m_ctrlList.setColumnOrderArray(UploadQueueItem::COLUMN_LAST, columnIndexes); m_ctrlList.setVisible(SETTING(UPLOADQUEUEFRAME_VISIBLE)); //ctrlList.setSortColumn(COLUMN_NICK); m_ctrlList.setSortColumn(SETTING(UPLOAD_QUEUE_COLUMNS_SORT)); m_ctrlList.setAscending(BOOLSETTING(UPLOAD_QUEUE_COLUMNS_SORT_ASC)); // colors SET_LIST_COLOR(m_ctrlList); ctrlQueued.SetBkColor(Colors::g_bgColor); ctrlQueued.SetTextColor(Colors::g_textColor); ctrlShowTree.Create(ctrlStatus.m_hWnd, rcDefault, _T("+/-"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); ctrlShowTree.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlShowTree.SetCheck(m_showTree); ctrlShowTree.SetFont(Fonts::g_systemFont); showTreeContainer.SubclassWindow(ctrlShowTree.m_hWnd); memzero(statusSizes, sizeof(statusSizes)); statusSizes[0] = 16; ctrlStatus.SetParts(4, statusSizes); UpdateLayout(); UploadManager::getInstance()->addListener(this); SettingsManager::getInstance()->addListener(this); // Load all searches LoadAll(); create_timer(1000); bHandled = FALSE; return TRUE; }
LRESULT CMainFrame::OnCreate(LPCREATESTRUCT /*lParam*/) { // // create command bar window // HWND hWndCmdBar = m_CmdBar.Create( m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.SetImageSize(CSize(9,9)); // m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); // set title CString strTitle; strTitle.LoadString( IDS_APPLICATION ); SetWindowText(strTitle); // // setting up a tool bar // // patria: // // We are loading an empty tool bar. // If we directly load a tool bar using a bitmap which does not // match with windows system palette, the application may crash // in Windows 2000. // As an workaround, we just create a simple tool bar with // an empty bitmap and replace them later. // HWND hWndToolBar = CreateSimpleToolBarCtrl( m_hWnd, IDR_EMPTY_TOOLBAR, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE | TBSTYLE_LIST); m_wndToolBar.Attach( hWndToolBar ); m_wndToolBar.SetExtendedStyle( TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_EX_DRAWDDARROWS ); // // patria: // // Some bitmaps are distorted when used with TB_ADDBITMAP // which is sent from CreateSimpleToolBarCtrl when the bitmap is not true color. // This is the case with IO-DATA's tool bar image. // As an workaround, we can directly create a image list directly // and replace the image list of the tool bar, which corrects such misbehaviors. // { CImageList imageList; WORD wWidth = 32; // we are using 32 x 32 buttons imageList.CreateFromImage( IDR_MAINFRAME, wWidth, 1, CLR_DEFAULT, IMAGE_BITMAP, LR_CREATEDIBSECTION | LR_DEFAULTSIZE); m_wndToolBar.SetImageList(imageList); } TBBUTTON tbButton = { 0 }; TBBUTTONINFO tbButtonInfo = { 0 }; TBREPLACEBITMAP replaceBitmap = { 0 }; // Add strings to the tool bar m_wndToolBar.SetButtonStructSize(sizeof(TBBUTTON)); for ( int i=0; i < m_wndToolBar.GetButtonCount(); i++ ) { CString strCommand; m_wndToolBar.GetButton( i, &tbButton ); tbButtonInfo.cbSize = sizeof(TBBUTTONINFO); tbButtonInfo.dwMask = TBIF_STYLE; m_wndToolBar.GetButtonInfo( tbButton.idCommand, &tbButtonInfo ); tbButtonInfo.dwMask = TBIF_TEXT | TBIF_STYLE; strCommand.LoadString( tbButton.idCommand ); strCommand = strCommand.Right( strCommand.GetLength() - strCommand.Find('\n') - 1 ); tbButtonInfo.pszText = const_cast<LPTSTR>(static_cast<LPCTSTR>(strCommand)); tbButtonInfo.cchText = strCommand.GetLength(); tbButtonInfo.fsStyle |= BTNS_SHOWTEXT | BTNS_AUTOSIZE; m_wndToolBar.AddString( tbButton.idCommand ); m_wndToolBar.SetButtonInfo( tbButton.idCommand, &tbButtonInfo ); } #define ATL_CUSTOM_REBAR_STYLE \ ((ATL_SIMPLE_REBAR_STYLE & ~RBS_AUTOSIZE) | CCS_NODIVIDER) // // patria: reason to use ATL_CUSTOM_REBAR_STYLE // // ATL_SIMPLE_REBAR_STYLE (not a NO_BRODER style) has a problem // with theme-enabled Windows XP, // rendering some transparent lines above the rebar. // CreateSimpleReBar(ATL_CUSTOM_REBAR_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(m_wndToolBar.m_hWnd, NULL, TRUE); CReBarCtrl reBar = m_hWndToolBar; DWORD cBands = reBar.GetBandCount(); for (DWORD i = 0; i < cBands; ++i) { REBARBANDINFO rbi = {0}; rbi.cbSize = sizeof(REBARBANDINFO); rbi.fMask = RBBIM_STYLE; reBar.GetBandInfo(i, &rbi); rbi.fStyle |= RBBS_NOGRIPPER; reBar.SetBandInfo(i, &rbi); } // work on status bar, progress bar CreateSimpleStatusBar(); CRect rectPgs; ::GetClientRect(m_hWndStatusBar, &rectPgs); rectPgs.DeflateRect(1,2,1,2); rectPgs.right = 300; m_wndRefreshProgress.Create(m_hWndStatusBar, &rectPgs, NULL, WS_CHILD | WS_VISIBLE); m_wndRefreshProgress.SetRange32(0, 100); m_wndRefreshProgress.SetPos(50); m_wndRefreshProgress.ShowWindow(SW_HIDE); // // Comments from the author // (http://www.viksoe.dk/code/treelistview.htm) // // It is wise to add the TVS_DISABLEDRAGDROP and TVS_SHOWSELALWAYS // styles to the tree control for best result. // m_viewTreeList.Create( *this, rcDefault, NULL, WS_BORDER | WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP /* | TVS_HASLINES */ ); m_viewTreeList.Initialize(); m_viewTreeList.GetTreeControl().SetIndent(24); m_hWndClient = m_viewTreeList; UIAddToolBar(m_wndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // TODO : It will be better if we display splash window while // the treeview is initialized PostMessage(WM_COMMAND, IDM_TOOL_REFRESH, 0); m_hEventCallback = ::NdasRegisterEventCallback(NdasEventCallback,m_hWnd); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); // FIXME : We need to remember the window size //CRect rectResize; //GetClientRect( rectResize ); //rectResize = CRect( rectResize.TopLeft(), CSize(500, 500) ); //ClientToScreen( rectResize ); //MoveWindow( rectResize ); //CenterWindow(); return 0; }
// Frame creation LRESULT ADLSearchFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { // Create status bar CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); int w[1] = { 0 }; ctrlStatus.SetParts(1, w); // Create list control ctrlList.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE, IDC_ADLLIST); ctrlList.SetExtendedListViewStyle(LVS_EX_LABELTIP | LVS_EX_HEADERDRAGDROP | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER | LVS_EX_INFOTIP); // Set background color ctrlList.SetBkColor(WinUtil::bgColor); ctrlList.SetTextBkColor(WinUtil::bgColor); ctrlList.SetTextColor(WinUtil::textColor); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(ADLSEARCHFRAME_ORDER), COLUMN_LAST); WinUtil::splitTokens(columnSizes, SETTING(ADLSEARCHFRAME_WIDTHS), COLUMN_LAST); for(int j = 0; j < COLUMN_LAST; j++) { int fmt = LVCFMT_LEFT; ctrlList.InsertColumn(j, CTSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } ctrlList.SetColumnOrderArray(COLUMN_LAST, columnIndexes); // Create buttons ctrlAdd.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_ADD); ctrlAdd.SetWindowText(CTSTRING(NEW)); ctrlAdd.SetFont(WinUtil::font); ctrlEdit.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_EDIT); ctrlEdit.SetWindowText(CTSTRING(PROPERTIES)); ctrlEdit.SetFont(WinUtil::font); ctrlRemove.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_REMOVE); ctrlRemove.SetWindowText(CTSTRING(REMOVE)); ctrlRemove.SetFont(WinUtil::font); ctrlMoveUp.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_MOVE_UP); ctrlMoveUp.SetWindowText(CTSTRING(MOVE_UP)); ctrlMoveUp.SetFont(WinUtil::font); ctrlMoveDown.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_MOVE_DOWN); ctrlMoveDown.SetWindowText(CTSTRING(MOVE_DOWN)); ctrlMoveDown.SetFont(WinUtil::font); ctrlReload.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_RELOAD); ctrlReload.SetWindowText(CTSTRING(RELOAD)); ctrlReload.SetFont(WinUtil::font); ctrlHelp.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_HELP_FAQ); ctrlHelp.SetWindowText(CTSTRING(WHATS_THIS)); ctrlHelp.SetFont(WinUtil::font); // Create context menu contextMenu.CreatePopupMenu(); contextMenu.AppendMenu(MF_STRING, IDC_ADD, CTSTRING(NEW)); contextMenu.AppendMenu(MF_STRING, IDC_REMOVE, CTSTRING(REMOVE)); contextMenu.AppendMenu(MF_STRING, IDC_EDIT, CTSTRING(PROPERTIES)); SettingsManager::getInstance()->addListener(this); // Load all searches LoadAll(); WinUtil::SetIcon(m_hWnd, _T("ADLSearch.ico")); bHandled = FALSE; return TRUE; }
LRESULT PublicHubsFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); int w[3] = { 0, 0, 0 }; ctrlStatus.SetParts(3, w); m_ctrlHubs.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS, // https://github.com/pavel-pimenov/flylinkdc-r5xx/issues/1611 WS_EX_CLIENTEDGE, IDC_HUBLIST); SET_EXTENDENT_LIST_VIEW_STYLE(m_ctrlHubs); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(PUBLICHUBSFRAME_ORDER), COLUMN_LAST); WinUtil::splitTokensWidth(columnSizes, SETTING(PUBLICHUBSFRAME_WIDTHS), COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnSizes) == COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnNames) == COLUMN_LAST); for (int j = 0; j < COLUMN_LAST; j++) { const int fmt = (j == COLUMN_USERS) ? LVCFMT_RIGHT : LVCFMT_LEFT; m_ctrlHubs.InsertColumn(j, CTSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } m_ctrlHubs.SetColumnOrderArray(COLUMN_LAST, columnIndexes); SET_LIST_COLOR(m_ctrlHubs); m_ctrlHubs.SetImageList(g_flagImage.getIconList(), LVSIL_SMALL); /* extern HIconWrapper g_hOfflineIco; extern HIconWrapper g_hOnlineIco; m_onlineStatusImg.Create(16, 16, ILC_COLOR32 | ILC_MASK, 0, 2); m_onlineStatusImg.AddIcon(g_hOnlineIco); m_onlineStatusImg.AddIcon(g_hOfflineIco); m_ctrlHubs.SetImageList(m_onlineStatusImg, LVSIL_SMALL); */ ClientManager::getOnlineClients(m_onlineHubs); m_ctrlHubs.SetFocus(); m_ctrlTree.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP, WS_EX_CLIENTEDGE, IDC_ISP_TREE); m_ctrlTree.SetBkColor(Colors::g_bgColor); m_ctrlTree.SetTextColor(Colors::g_textColor); WinUtil::SetWindowThemeExplorer(m_ctrlTree.m_hWnd); m_treeContainer.SubclassWindow(m_ctrlTree); SetSplitterExtendedStyle(SPLIT_PROPORTIONAL); // При изменении размеров окна-контейнера размеры разделяемых областей меняются пропорционально. SetSplitterPanes(m_ctrlTree.m_hWnd, m_ctrlHubs.m_hWnd); m_nProportionalPos = SETTING(FLYSERVER_HUBLIST_SPLIT); ctrlConfigure.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_PUB_LIST_CONFIG); ctrlConfigure.SetWindowText(CTSTRING(CONFIGURE)); ctrlConfigure.SetFont(Fonts::g_systemFont); ctrlFilter.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | ES_AUTOHSCROLL, WS_EX_CLIENTEDGE); m_filterContainer.SubclassWindow(ctrlFilter.m_hWnd); ctrlFilter.SetFont(Fonts::g_systemFont); ctrlFilterSel.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | CBS_DROPDOWNLIST, WS_EX_CLIENTEDGE); ctrlFilterSel.SetFont(Fonts::g_systemFont, FALSE); //populate the filter list with the column names for (int j = 0; j < COLUMN_LAST; j++) { ctrlFilterSel.AddString(CTSTRING_I(columnNames[j])); } ctrlFilterSel.AddString(CTSTRING(ANY)); ctrlFilterSel.SetCurSel(COLUMN_LAST); ctrlFilterDesc.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_GROUPBOX, WS_EX_TRANSPARENT); ctrlFilterDesc.SetWindowText(CTSTRING(FILTER)); ctrlFilterDesc.SetFont(Fonts::g_systemFont); SettingsManager::getInstance()->addListener(this); updateList(); loadISPHubs(); m_ctrlHubs.setSort(COLUMN_USERS, ExListViewCtrl::SORT_INT, false); /* const int l_sort = SETTING(HUBS_PUBLIC_COLUMNS_SORT); int l_sort_type = ExListViewCtrl::SORT_STRING_NOCASE; if (l_sort == 2 || l_sort > 4) l_sort_type = ExListViewCtrl::SORT_INT; if (l_sort == 5) l_sort_type = ExListViewCtrl::SORT_BYTES; m_ctrlHubs.setSort(SETTING(HUBS_PUBLIC_COLUMNS_SORT), l_sort_type, BOOLSETTING(HUBS_PUBLIC_COLUMNS_SORT_ASC)); */ hubsMenu.CreatePopupMenu(); hubsMenu.AppendMenu(MF_STRING, IDC_CONNECT, CTSTRING(CONNECT)); hubsMenu.AppendMenu(MF_STRING, IDC_ADD, CTSTRING(ADD_TO_FAVORITES_HUBS)); hubsMenu.AppendMenu(MF_STRING, IDC_REM_AS_FAVORITE, CTSTRING(REMOVE_FROM_FAVORITES_HUBS)); hubsMenu.AppendMenu(MF_STRING, IDC_COPY_HUB, CTSTRING(COPY_HUB)); hubsMenu.SetMenuDefaultItem(IDC_CONNECT); bHandled = FALSE; return TRUE; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); m_hWndClient = m_splitter.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_pane.SetPaneContainerExtendedStyle(PANECNT_NOBORDER); m_pane.Create(m_splitter, _T("Workspace"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_Workspace.Create(m_pane, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN , WS_EX_CLIENTEDGE); m_Workspace.SetFont(AtlGetDefaultGuiFont()); m_pane.SetClient(m_Workspace); /* m_Editspace.Create(m_splitter, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); m_Editspace.SetFont(AtlGetDefaultGuiFont()); m_Editspace.SetTitleBarWindow(m_hWnd); m_splitter.SetSplitterPanes(m_pane, m_Editspace); */ m_Documents.Create(m_splitter, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); m_Documents.SetFont(AtlGetDefaultGuiFont()); m_Documents.SetTitleBarWindow(m_hWnd); m_splitter.SetSplitterPanes(m_pane, m_Documents); UpdateLayout(); m_splitter.SetSplitterPosPct(25); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); UISetCheck(ID_VIEW_TREEPANE, 1); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); CMenuHandle menuMain = m_CmdBar.GetMenu(); // m_Editspace.SetWindowMenu(menuMain.GetSubMenu(WINDOW_MENU_POSITION)); m_Documents.SetWindowMenu(menuMain.GetSubMenu(WINDOW_MENU_POSITION)); //drag files DragAcceptFiles(TRUE); m_PluginManager.LoadPlugins(GetModulePath(_Module.m_hInst)+_T("\\plugins")); m_PluginManager.ConnectionAll(this,NULL); // FireWorkspaceNew(_T("Undefine Workspace")); // this->m_Solution.Open(_T("Undefine")); // this->m_Solution.m_projs.AddProject(_T("Undefine")); this->m_Solution.Create(_T("Undefine")); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { #ifndef BTNS_SHOWTEXT #define BTNS_SHOWTEXT 0x0040 #endif // set title WTL::CString strTitle; strTitle.LoadString( IDS_APPLICATION ); SetWindowText(strTitle); CreateSimpleStatusBar(); HWND hWndToolBar = CreateSimpleToolBarCtrl( m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_STYLE | BTNS_SHOWTEXT | TBSTYLE_LIST | TBSTYLE_FLAT | TBSTYLE_FLAT); TBBUTTON tbButton = { 0 }; TBBUTTONINFO tbButtonInfo = { 0 }; TBREPLACEBITMAP replaceBitmap = { 0 }; m_wndToolBar.Attach( hWndToolBar ); m_wndToolBar.SetExtendedStyle( TBSTYLE_EX_DRAWDDARROWS ); // Replace toolbar bitmap to display true color image replaceBitmap.hInstNew = _Module.GetResourceInstance(); replaceBitmap.hInstOld = _Module.GetResourceInstance(); replaceBitmap.nIDOld = IDR_MAINFRAME; replaceBitmap.nIDNew = IDB_MAINFRAME; replaceBitmap.nButtons = 4; m_wndToolBar.ReplaceBitmap( &replaceBitmap ); // Add strings to the toolbar m_wndToolBar.SetButtonStructSize(sizeof(TBBUTTON)); for ( int i=0; i < m_wndToolBar.GetButtonCount(); i++ ) { WTL::CString strCommand; m_wndToolBar.GetButton( i, &tbButton ); tbButtonInfo.cbSize = sizeof(TBBUTTONINFO); tbButtonInfo.dwMask = TBIF_STYLE; m_wndToolBar.GetButtonInfo( tbButton.idCommand, &tbButtonInfo ); tbButtonInfo.dwMask = TBIF_TEXT | TBIF_STYLE; strCommand.LoadString( tbButton.idCommand ); strCommand = strCommand.Right( strCommand.GetLength() - strCommand.Find('\n') - 1 ); tbButtonInfo.pszText = const_cast<LPTSTR>(static_cast<LPCTSTR>(strCommand)); tbButtonInfo.cchText = strCommand.GetLength(); tbButtonInfo.fsState |= BTNS_SHOWTEXT; m_wndToolBar.AddString( tbButton.idCommand ); m_wndToolBar.SetButtonInfo( tbButton.idCommand, &tbButtonInfo ); } // Modify mirror button as dropdown button m_wndToolBar.GetButton( m_wndToolBar.CommandToIndex(IDM_AGGR_MIRROR), &tbButton ); tbButtonInfo.cbSize = sizeof(TBBUTTONINFO); tbButtonInfo.dwMask = TBIF_STYLE; tbButtonInfo.fsStyle = tbButton.fsStyle | TBSTYLE_DROPDOWN; m_wndToolBar.SetButtonInfo( IDM_AGGR_MIRROR, &tbButtonInfo ); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(m_wndToolBar); UIAddToolBar(m_wndToolBar); m_hWndClient = m_view.Create( m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | TVS_HASLINES | /* TVS_LINESATROOT | */ TVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE ); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); // TODO : It will be better if we display splash window while // the treeview is initialized m_bRefreshing = FALSE; ::InitializeCriticalSection(&m_csThreadRefreshStatus); StartRefreshStatus(); m_hEventCallback = ::NdasRegisterEventCallback(pNdasEventProc,m_hWnd); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); // FIXME : We need to remember the window size CRect rectResize; GetClientRect( rectResize ); rectResize = CRect( rectResize.TopLeft(), CSize(500, 500) ); ClientToScreen( rectResize ); MoveWindow( rectResize ); CenterWindow(); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { // create command bar window HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); m_wndVertSplit.Create( *this, rcDefault, NULL, 0, WS_EX_CLIENTEDGE); m_view.Create(m_wndVertSplit, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); m_TreeView.Create(m_wndVertSplit, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); // this didn't work //m_TreeView.ModifyStyle(NULL, TVS_HASBUTTONS | TVS_HASLINES | TVS_TRACKSELECT | TVS_SINGLEEXPAND | TVS_SHOWSELALWAYS); LONG lStyle; lStyle = ::GetWindowLong(m_TreeView.m_hWnd, GWL_STYLE); lStyle |= (TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | TVS_TRACKSELECT); ::SetWindowLong(m_TreeView.m_hWnd, GWL_STYLE, lStyle); m_wndVertSplit.SetSplitterPanes ( m_TreeView, m_view ); m_wndVertSplit.SetSplitterExtendedStyle(SPLIT_PROPORTIONAL & SPLIT_RIGHTALIGNED); m_hWndClient = m_wndVertSplit; m_wndVertSplit.m_cxyMin = 150; m_wndVertSplit.m_cxySplitBar = 1; m_wndVertSplit.m_nDefActivePane = 0; m_wndVertSplit.m_cxyDragOffset = 0; UpdateLayout(); m_wndVertSplit.SetSplitterPos(150); //m_TreeView.SetBkColor(RGB(255, 255, 255)); //m_TreeView.SetLineColor(RGB(0, 0, 255)); //m_TreeView.SetTextColor(RGB(255, 255, 255)); //m_TreeView.SetLineColor(RGB(0, 0, 0)); m_TreeView.FillTree(_T("molecules")); UIAddToolBar(hWndToolBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); UISetCheck(ID_VIEW_LINKS, 1); m_view.SetShowLinks(true); UISetCheck(ID_VIEW_LABELS, 0); m_view.SetShowLabels(false); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); bHandled = FALSE; // pass message to the chain return 0; }
LRESULT CMainFrame::OnCreate( LPCREATESTRUCT /*lpCreateStruct*/ ) { if ( FAILED( TtlCreateControl() ) ) { LPTSTR lpBuffer = _T("Unknown Error"); DWORD bFreeIt = ::FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM , NULL, TtlGetLastError(), 0, (LPTSTR) &lpBuffer, 0, NULL ); CString sz; sz.Format( _T("An error occured trying to get the TTLive interface.\n" "The error was:\n" "%s") , lpBuffer ); MessageBox( sz, _T("Error"), MB_OK | MB_ICONERROR ); if ( bFreeIt ) ::LocalFree( lpBuffer ); return -1; // fail OnCreate } TtlPnPRegister(); // wizard generated UI: HWND hWndCmdBar = m_CmdBar.Create( m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE ); m_CmdBar.AttachMenu( GetMenu() ); m_CmdBar.LoadImages( IDR_MAINFRAME ); SetMenu( NULL ); HWND hWndToolBar = CreateSimpleToolBarCtrl( m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE ); CreateSimpleReBar( ATL_SIMPLE_REBAR_NOBORDER_STYLE ); AddSimpleReBarBand( hWndCmdBar ); AddSimpleReBarBand( hWndToolBar, NULL, TRUE ); CreateSimpleStatusBar(); UIAddToolBar( hWndToolBar ); UISetCheck( ID_VIEW_TOOLBAR, 1 ); UISetCheck( ID_VIEW_STATUS_BAR, 1 ); CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT( pLoop != NULL ); pLoop->AddMessageFilter( this ); pLoop->AddIdleHandler( this ); // create remainder of UI: m_hWndClient = m_wndVSplitter.Create( *this, rcDefault, NULL , WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS ); m_wndGraphs.Create( m_wndVSplitter, rcDefault, NULL , WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS , WS_EX_CLIENTEDGE ); m_wndConfig.Create( m_wndVSplitter, _T("Explorer") , WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS ); m_wndVSplitter.SetSplitterPanes( m_wndConfig, m_wndGraphs ); m_wndVSplitter.m_nProportionalPos = m_wndVSplitter.m_nPropMax / 3; UISetBlockAccelerators( true ); UISetCheck( ID_OPTIONS_KEEPEXISTING , m_bKeepExisting ); UISetCheck( ID_OPTIONS_AUTODETECT , m_bAutoDetect ); UISetCheck( ID_OPTIONS_FORCEPROTOCOL , m_bForceProtocol ); UISetCheck( ID_OPTIONS_FILLGAPS , m_bFillGaps ); UISetCheck( ID_OPTIONS_AUTOSETUP , m_bAutoSetup ); UISetCheck( ID_OPTIONS_FORCEALL , m_bForceAll ); UISetCheck( ID_OPTIONS_DISACTIVATE , m_bDisactivate ); UISetCheck( ID_OPTIONS_SETSENSORTYPE , m_bSetSensorType ); UISetCheck( ID_OPTIONS_SHORTREADS , m_bShortReads ); UISetCheck( ID_OPTIONS_SYNCHRONIZE , m_bSynchronize ); UISetCheck( ID_OPTIONS_SYNCH_INTERNAL, m_bSynchInternal ); UISetCheck( ID_OPTIONS_SYNCH_PERIODIC, m_bSynchPeriodic ); UISetCheck( ID_DAC_RECORD , m_bRecord ); UISetCheck( m_idUnitType, true ); UISetCheck( m_idFilter, true ); #ifdef USE_TTLLIVE_2 // all options available #else UIEnable( ID_OPTIONS_FILLGAPS , false ); UIEnable( ID_OPTIONS_SHORTREADS , false ); UIEnable( ID_OPTIONS_SYNCHRONIZE , false ); UIEnable( ID_OPTIONS_SYNCH_INTERNAL, false ); UIEnable( ID_OPTIONS_SYNCH_PERIODIC, false ); #endif UIUpdate(); SetMsgHandled( false ); return 0; }
LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // create command bar window RECT rcCmdBar = {0, 0, 100, 100}; HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcCmdBar, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE); // attach menu m_CmdBar.AttachMenu(GetMenu()); // load command bar images m_CmdBar.LoadImages(IDR_MAINFRAME); // remove old menu SetMenu(NULL); HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE); CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE); AddSimpleReBarBand(hWndCmdBar); AddSimpleReBarBand(hWndToolBar, NULL, TRUE); CreateSimpleStatusBar(); // Add toolbars and stuff UIAddToolBar(m_CmdBar); UISetCheck(ID_VIEW_TOOLBAR, 1); UISetCheck(ID_VIEW_STATUS_BAR, 1); UpdateLayout(); RECT ClientRect; GetClientRect(&ClientRect); // Set the button parameters. You must set these before you create the navwindow. If you don't, don't expect it to work ;) m_navwindow.SetButtonHeight(31); // The button height is the height of the big buttons and the command bar m_navwindow.SetSmallButtonWidth(24); // The small button width is the width of the little buttons on the command bar. // Drop in our control. m_hWndClient = m_navwindow.Create(m_hWnd, ClientRect, L"Nav_Main", WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_navwindow.SetPopBack(150); // Set the distance from the top of the client rect of the window where the buttons start popping back. // If not set or set to 0, the buttons will pop back when the buttons are pushed past the top of the window. // For the sake of example, there is only one sample window for all the buttons. // If you want a different window for each button (you probably do), // you will want a different line and class for each window in your Mainframe. // As these are for example, the following two lines and the for loop are to be erased and replaced with whatever you want. button_view.resize(9); button_view_top.resize(9); for (size_t view_increment = 0; view_increment < button_view.size(); view_increment++) { button_view[view_increment].Create(m_navwindow, rcDefault, L"Right Window", WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); button_view_top[view_increment].Create(m_navwindow.m_HorizontalSplitter, rcDefault, L"Top Window", WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); std::wostringstream vertical_caption; vertical_caption << L"Vertical " << view_increment; button_view[view_increment].window_caption = vertical_caption.str(); button_view[view_increment].is_horizontal = false; std::wostringstream horizontal_caption; horizontal_caption << L"Horizontal " << view_increment; button_view_top[view_increment].window_caption = horizontal_caption.str(); button_view_top[view_increment].is_horizontal = true; button_view_top[view_increment].pop_back_amount = m_navwindow.m_HorizontalSplitter.pop_back_y; } // Don't erase anything past here...it contains the rest of the parameters needed ;) // Set the button font. m_navwindow.SetButtonFont(L"Arial", 8, FontStyleBold); // Add all of our buttons to our button view. Use a for loop if you have the necessary arrays of strings. m_navwindow.AddButtonWithView(L"Print", L"RolloutIcons\\Print_2.tif", L"RolloutIcons\\Print_2_Small.tif", button_view[0], button_view_top[0]); m_navwindow.AddButtonWithView(L"Add", L"RolloutIcons\\Add_2.tif", L"RolloutIcons\\Add_2_Small.tif", button_view[1], button_view_top[1]); m_navwindow.AddButtonWithView(L"Edit", L"RolloutIcons\\Edit_2.tif", L"RolloutIcons\\Edit_2_Small.tif", button_view[2], button_view_top[2]); m_navwindow.AddButtonWithView(L"Delete", L"RolloutIcons\\Delete_2.tif", L"RolloutIcons\\Delete_2_Small.tif", button_view[3], button_view_top[3]); m_navwindow.AddButtonWithView(L"Search", L"RolloutIcons\\Search_2.tif", L"RolloutIcons\\Search_2_Small.tif", button_view[4], button_view_top[4]); m_navwindow.AddButtonWithView(L"Back", L"RolloutIcons\\Back_2.tif", L"RolloutIcons\\Back_2_Small.tif", button_view[5], button_view_top[5]); m_navwindow.AddButtonWithView(L"Forward", L"RolloutIcons\\Forward_2.tif", L"RolloutIcons\\Forward_2_Small.tif", button_view[6], button_view_top[6]); m_navwindow.AddButtonWithView(L"Save", L"RolloutIcons\\Save_2.tif", L"RolloutIcons\\Save_2_Small.tif", button_view[7], button_view_top[7]); m_navwindow.AddButtonWithView(L"Exit", L"RolloutIcons\\Exit_2.tif", L"RolloutIcons\\Exit_2_Small.tif", button_view[8], button_view_top[8]); m_navwindow.SetSplitterPos(242); // Set this to be where the vertical splitter will be located on your window. m_navwindow.SetDefaultButtons(5); // Set this to be 1 higher than the buttons you want to show initially. If none at all, put 1. If not even the command bar, put 0. return 0; }
LRESULT UploadQueueFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { showTree = BOOLSETTING(UPLOADQUEUEFRAME_SHOW_TREE); // status bar CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); ctrlList.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS, WS_EX_CLIENTEDGE, IDC_UPLOAD_QUEUE); ctrlList.SetExtendedListViewStyle(LVS_EX_LABELTIP | LVS_EX_HEADERDRAGDROP | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER | LVS_EX_INFOTIP); ctrlQueued.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | TVS_TRACKSELECT, WS_EX_CLIENTEDGE, IDC_DIRECTORIES); if(BOOLSETTING(USE_EXPLORER_THEME) && ((WinUtil::getOsMajor() >= 5 && WinUtil::getOsMinor() >= 1) //WinXP & WinSvr2003 || (WinUtil::getOsMajor() >= 6))) //Vista & Win7 { SetWindowTheme(ctrlQueued.m_hWnd, L"explorer", NULL); } ctrlQueued.SetImageList(WinUtil::fileImages, TVSIL_NORMAL); ctrlList.SetImageList(WinUtil::fileImages, LVSIL_SMALL); m_nProportionalPos = 2500; SetSplitterPanes(ctrlQueued.m_hWnd, ctrlList.m_hWnd); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(UPLOADQUEUEFRAME_ORDER), UploadQueueItem::COLUMN_LAST); WinUtil::splitTokens(columnSizes, SETTING(UPLOADQUEUEFRAME_WIDTHS), UploadQueueItem::COLUMN_LAST); // column names, sizes for (uint8_t j=0; j<UploadQueueItem::COLUMN_LAST; j++) { int fmt = (j == UploadQueueItem::COLUMN_TRANSFERRED || j == UploadQueueItem::COLUMN_SIZE) ? LVCFMT_RIGHT : LVCFMT_LEFT; ctrlList.InsertColumn(j, CTSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } ctrlList.setColumnOrderArray(UploadQueueItem::COLUMN_LAST, columnIndexes); ctrlList.setSortColumn(UploadQueueItem::COLUMN_NICK); // colors ctrlList.SetBkColor(WinUtil::bgColor); ctrlList.SetTextBkColor(WinUtil::bgColor); ctrlList.SetTextColor(WinUtil::textColor); ctrlQueued.SetBkColor(WinUtil::bgColor); ctrlQueued.SetTextColor(WinUtil::textColor); ctrlShowTree.Create(ctrlStatus.m_hWnd, rcDefault, _T("+/-"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); ctrlShowTree.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlShowTree.SetCheck(showTree); showTreeContainer.SubclassWindow(ctrlShowTree.m_hWnd); memzero(statusSizes, sizeof(statusSizes)); statusSizes[0] = 16; ctrlStatus.SetParts(4, statusSizes); UpdateLayout(); UploadManager::getInstance()->addListener(this); SettingsManager::getInstance()->addListener(this); rootItem = ctrlQueued.InsertItem(CTSTRING(ALL), TVI_ROOT, TVI_LAST); LoadAll(); ctrlQueued.Expand(rootItem); bHandled = FALSE; return TRUE; }