Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
M

Member 11125624

@Member 11125624
About
Posts
3
Topics
2
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • How to create floating toolbar that always active in MFC application
    M Member 11125624

    I' m new with MFC. I needed to create a floating toolbar (CToolBar) with no option of docking and save and restore its last pos. The toolbar also should be active all the time, but its NOT. When I'm openning a new child window (dialog for instance) from the mainframe, the floating tool bar become not active (I can not click on its buttons, or drag it etc..). In the past I've used CDialog with Overlapped style and it was floating and always active as I needed. Is it possible to do the same with my Floating Toolbar? Thanks

    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
    return -1;

    toolbarIconSize.cx = toolbarIconSize.cy = TOOLBAR_MAIN_ICON_SIZE;
    if ( !m_wndMyFloatingToolbar.Create(this,m_wndMyFloatingToolbar.GetBarStyle() |WS_EX_PALETTEWINDOW | WS_EX_TOPMOST |CBRS_FLOATING | WS_VISIBLE) ||
    !m_wndMyFloatingToolbar.LoadToolBar(IDR_GENERAL_TOOLBAR, toolbarIconSize))
    {
    TRACE0("Failed to create My Floating Toolbar\n");
    return -1; // fail to create
    }

    m_wndMyFloatingToolbar.EnableDocking(0);
    EnableDocking(0);

    if (!CreateCtrlBar())
    {
    TRACE0("Failed to create ctrl toolbar\n");
    return -1; // fail to create
    }

    // ...
    //...
    return 0;
    }

    void CMainFrame::OnViewToolBar()
    {
    // ...
    //...

    CPoint Pos = MyFloatingToolbarGetLastPosition(); \\Get last pos
    FloatControlBar( &m_wndMyFloatingToolbar, Pos, CBRS_ALIGN_LEFT );
    MyFloatingToolbarSetIsVisible();
    FloatControlBar( &m_wndMyFloatingToolbar, Pos, CBRS_ALIGN_LEFT );
    }
    void CMainFrame::MyFloatingToolbarSetIsVisible()
    {
    WINDOWPLACEMENT wp;
    m_wndMyFloatingToolbar.GetParent()->GetParent()->GetWindowPlacement(&wp);
    wp.showCmd = SW_SHOW;
    m_wndMyFloatingToolbar.GetParent()->GetParent()->SetWindowPlacement(&wp);

    m_wndMyFloatingToolbar.GetParent()->GetWindowPlacement(&wp);
    wp.showCmd = SW_SHOW;
    m_wndMyFloatingToolbar.GetParent()->SetWindowPlacement(&wp);

    m_wndMyFloatingToolbar.GetWindowPlacement(&wp);
    wp.showCmd = SW_SHOW;
    m_wndMyFloatingToolbar.SetWindowPlacement(&wp);
    }
    void CWJToolBar::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
    {
    CToolBar::OnWindowPosChanging(lpwndpos);

    if ( GetBarStyle() & CBRS_FLOATING )
    {
    if((lpwndpos->flags & SWP_HIDEWINDOW) && ((this->GetParentFrame())->m_hWnd !=(this->GetTopLevelFrame())->m_hWnd))
    {
    CMainFrame* mf = (CMainFrame*)(AfxG

    C / C++ / MFC c++ tutorial question

  • MFC- receiving Button-Click-Message failed
    M Member 11125624

    Hello Richard, "buttonX" applies to all buttons.

    C / C++ / MFC c++ linux tools help question

  • MFC- receiving Button-Click-Message failed
    M Member 11125624

    I've created a new dialog in my MFC dialog based application. the new dialog contains 5 control buttons. the following happens and I don't understand why? (buttonX is any button). 1. click on buttonX. (result ok, OnBnClicked message is sent) 2. click on on any place of the application, but not on the dialog. (removing focus from dialog) 3. click again on buttonX (FAILED, OnBnClicked message is NOT sent). but if instead I click on any other button in the dialog (result ok, OnBnClicked message is sent). and when I do: 1. ... 2. ... 3. click on the dialog area just to set focus on the dialog again 4. click again on buttonX. (result ok, OnBnClicked message is sent) (*) I need to do step 3 only if I want to click again on the buttonX! why?? I think it related to SetFocus() but I m not sure how.

    the buttons IDC are: IDC_BACK_MEDIA_PRESS_BUTTON 1180 IDC_TOOLS_LEFT_RIGHT 1024 IDC_MEDIA_FOREWARD_BUTTON 1103 IDC_MEDIA_BACKWARD_BUTTON 1104 IDC_TOOLS_HOOD_BUTTON 2346

    the dialog properties is:

    IDD_TOOLS_DIALOG DIALOGEX 0, 0, 51, 218 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Tools" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN PUSHBUTTON "Media &Foreward",IDC_MEDIA_FOREWARD_BUTTON,7,79,37,36,BS_MULTILINE PUSHBUTTON "&Media &BackWard",IDC_MEDIA_BACKWARD_BUTTON,7,43,37,36,BS_MULTILINE PUSHBUTTON "Back Media Press",IDC_BACK_MEDIA_PRESS_BUTTON,7,127,37,36,BS_MULTILINE | NOT WS_VISIBLE PUSHBUTTON "Hood",IDC_TOOLS_HOOD_BUTTON,7,7,37,36 PUSHBUTTON "Left Right",IDC_TOOLS_LEFT_RIGHT,7,175,37,36 END

    I've tried different style like, tool windows, overlapped, popup. it happens in all the cases. Thanks for the help. .h

    <pre>

    class CToolsDlg : public CBDialog { DECLARE_DYNAMIC(CToolsDlg) public: CToolsDlg(CWnd* pParent = NULL); // standard constructor virtual ~CToolsDlg(); CToolTipCtrl m_ToolsTips; // Dialog Data enum { IDD = IDD_TOOLS_DIALOG }; protected: virtual void OnCancel(); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support DECLARE_MESSAGE_MAP() public: CMFCButton m_HoodButton; CMFCButton m_MediaForewardButton; CMFCButton m_MediaBackwardButton; CMFCButton m_LeftRightButton; virtual BOOL OnInitDialog(); virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_m

    C / C++ / MFC c++ linux tools help question
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups