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
D

Dialecticus

@Dialecticus
About
Posts
7
Topics
3
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Overlay icon in CListView
    D Dialecticus

    I have MFC SDI project and CListView inside. I would like to have overlay images in my list control. In image list I have some images set with SetOverlayImage, and I use CListCtrl::SetItemState with LVIS_OVERLAYMASK and INDEXTOOVERLAYMASK. Overlay images are still not shown, just the main image. This is cleansed code:

    extern CListView\* pLV;
    CListCtrl\* pLC = pLV->GetListCtrl();
    
    imageList.Add((HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI\_MAIN\_IMAGE), IMAGE\_ICON, 32, 32, 0));
    imageList.Add((HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI\_OVERLAY\_IMAGE), IMAGE\_ICON, 32, 32, 0));
    
    imageList.SetOverlayImage(1, 1);
    pLC->SetImageList(&imageList, LVSIL\_NORMAL);
    
    pLC->InsertItem(0, \_T("Testing"), 0);
    pLC->SetItemState(0, INDEXTOOVERLAYMASK(1), LVIS\_OVERLAYMASK);
    

    What am I doing wrong?

    C / C++ / MFC c++ testing beta-testing question

  • Splitter with fixed size
    D Dialecticus

    Funny this. I created project from VS template and tested it a bit. If you shrink the window to a minimum then left and right dockable panes will also shrink and will not grow back. Then I tried the same thing with Visual Studio itself and the same thing happens. Dockable panes shrink, but do not grow back. But at least we have middle area that takes all the non-fixed space. If those dockable panes could be prevented from undocking, hiding, auto-hiding, and if they could be made without titlebars, so that they resemble another client area, then I would have something close to original idea. But without the panes growing back when there's available space.

    C / C++ / MFC algorithms help question

  • Splitter with fixed size
    D Dialecticus

    Thank you for MSDN reference, but my goal has nothing to do with splitter's minimum size. The ideal solution would be the one that has different RecalcLayout algorithm that recalculates layout the way I want it, having in mind what panes have fixed size (until user changes it), and what panes should be resized when the window is resized. Currently only the last pane is resized (the rightmost, or the "bottomest"), and all previous are fixed. Along with RecalcLayout rewrite there should be an update in TrackRowSize/TrackColumnSize so that fixed panes remain fixed (unless the user is resizing one just now), and resizable panes get resized to compensate for current pane reconfiguration.

    C / C++ / MFC algorithms help question

  • Splitter with fixed size
    D Dialecticus

    My current solution is a monstrosity of a workaround that includes CMainFrame::OnSize handler, and a class derived from CSplitterWnd that exposes "ideal" sizes (you can set them but can't get them), and reroutes TrackRowSize/TrackColumnSize to CMainFrame so that proper size fiddling can be achieved. I am not proud of it, but it seems to be working for now.

    C / C++ / MFC algorithms help question

  • Splitter with fixed size
    D Dialecticus

    In linked article there is no mention of fixing the size of particular pane. The only advantage of featured class is that it works on CDialog, and that it uses registry. I've checked all other splitting classes, but either required functionality does not exist, or I can't find it. Hence the original question.

    C / C++ / MFC algorithms help question

  • Splitter with fixed size
    D Dialecticus

    I have SDI application and two panes. I would like bottom pane to have fixed size (instead of top pane having it). When user moves splitting line bottom pane should maintain newly fixed size. When window is resized, so that there is no room for top pane, bottom pane should occupy whole area. When window is enlarged again bottom pane should occupy last fixed size (ie. enlarge to a certain point and then stay fixed). Standard CSplitterWnd does not have this functionality, and last pane is always expanded to the end, and all previous panes are fixed. I was searching here for appropriate splitter class, but no luck so far. Maybe I'm missing something obvious. Is there a ready made solution? How should I solve this problem?

    C / C++ / MFC algorithms help question

  • MFC dialog + ResizableLib + splitter
    D Dialecticus

    I have a dialog inherited from CResizableDialog, and some controls in it. I would like the user to be able to resize controls within dialog, like with some splitters. There are 4 major areas, 3 on top window half, and one on bottom. I thought that some splitter class from CP would help me here, but the code is either immature, or requires creation of panes. I don't have panes, just controls, and don't know how to work with panes. What is the recommended class, or best common practice, and where can I find some sample code?

    C / C++ / MFC question c++ help tutorial
  • Login

  • Don't have an account? Register

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