How to Simulate TListView(vsIcon mode) with Virtual TreeView





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







-1















I am using Delphi XE3. Now I try to simulate TListView(vsIcon mode) with Virtual TreeView. Is that possible? Basically this is:



(1) A tree with only root nodes. That is easy to implement. Just use the following codeline is OK:



VirtualTreeView1.RootNodeCount := 5;


(2) Hide the tree lines. That is also easy to do, just set toShowRoot option to False can hide all the tree lines for the root nodes.



(3) Each root nodes is displayed with only icon instead of text. That can be implemented with OnGetImageIndex vent together with an image list assigned to the tree view.



(4) There is only one column. That is also easy. By default there is only one column.



(5) The nodes should be tiled from left to right, horizontally, instead of vertically.



The (5) point is the one that I cannot figure out how to implement. I try to do the following researches:




  1. I try to check the TreeOptions and other properties, but cannot find one that support that feature.


  2. I try to search online, and find the following articles:



How to display an icon or image in a column of TVirtualStringTree? (This use multi-column)



Icon position in Virtual Treeview (This does not discuss tiling of nodes horizontally.



Delphi - ListView or similar with owner draw button ( THis also tile the nodes vertically)




  1. I then try to search keyword horizontally in the help document of Virtual TreeView, but what I get are all about how to scroll horizontally, not tile node horizontally.


I think I have tried my best to find a solution but failed. That is the reason why I ask on stackoverflow.










share|improve this question































    -1















    I am using Delphi XE3. Now I try to simulate TListView(vsIcon mode) with Virtual TreeView. Is that possible? Basically this is:



    (1) A tree with only root nodes. That is easy to implement. Just use the following codeline is OK:



    VirtualTreeView1.RootNodeCount := 5;


    (2) Hide the tree lines. That is also easy to do, just set toShowRoot option to False can hide all the tree lines for the root nodes.



    (3) Each root nodes is displayed with only icon instead of text. That can be implemented with OnGetImageIndex vent together with an image list assigned to the tree view.



    (4) There is only one column. That is also easy. By default there is only one column.



    (5) The nodes should be tiled from left to right, horizontally, instead of vertically.



    The (5) point is the one that I cannot figure out how to implement. I try to do the following researches:




    1. I try to check the TreeOptions and other properties, but cannot find one that support that feature.


    2. I try to search online, and find the following articles:



    How to display an icon or image in a column of TVirtualStringTree? (This use multi-column)



    Icon position in Virtual Treeview (This does not discuss tiling of nodes horizontally.



    Delphi - ListView or similar with owner draw button ( THis also tile the nodes vertically)




    1. I then try to search keyword horizontally in the help document of Virtual TreeView, but what I get are all about how to scroll horizontally, not tile node horizontally.


    I think I have tried my best to find a solution but failed. That is the reason why I ask on stackoverflow.










    share|improve this question



























      -1












      -1








      -1








      I am using Delphi XE3. Now I try to simulate TListView(vsIcon mode) with Virtual TreeView. Is that possible? Basically this is:



      (1) A tree with only root nodes. That is easy to implement. Just use the following codeline is OK:



      VirtualTreeView1.RootNodeCount := 5;


      (2) Hide the tree lines. That is also easy to do, just set toShowRoot option to False can hide all the tree lines for the root nodes.



      (3) Each root nodes is displayed with only icon instead of text. That can be implemented with OnGetImageIndex vent together with an image list assigned to the tree view.



      (4) There is only one column. That is also easy. By default there is only one column.



      (5) The nodes should be tiled from left to right, horizontally, instead of vertically.



      The (5) point is the one that I cannot figure out how to implement. I try to do the following researches:




      1. I try to check the TreeOptions and other properties, but cannot find one that support that feature.


      2. I try to search online, and find the following articles:



      How to display an icon or image in a column of TVirtualStringTree? (This use multi-column)



      Icon position in Virtual Treeview (This does not discuss tiling of nodes horizontally.



      Delphi - ListView or similar with owner draw button ( THis also tile the nodes vertically)




      1. I then try to search keyword horizontally in the help document of Virtual TreeView, but what I get are all about how to scroll horizontally, not tile node horizontally.


      I think I have tried my best to find a solution but failed. That is the reason why I ask on stackoverflow.










      share|improve this question
















      I am using Delphi XE3. Now I try to simulate TListView(vsIcon mode) with Virtual TreeView. Is that possible? Basically this is:



      (1) A tree with only root nodes. That is easy to implement. Just use the following codeline is OK:



      VirtualTreeView1.RootNodeCount := 5;


      (2) Hide the tree lines. That is also easy to do, just set toShowRoot option to False can hide all the tree lines for the root nodes.



      (3) Each root nodes is displayed with only icon instead of text. That can be implemented with OnGetImageIndex vent together with an image list assigned to the tree view.



      (4) There is only one column. That is also easy. By default there is only one column.



      (5) The nodes should be tiled from left to right, horizontally, instead of vertically.



      The (5) point is the one that I cannot figure out how to implement. I try to do the following researches:




      1. I try to check the TreeOptions and other properties, but cannot find one that support that feature.


      2. I try to search online, and find the following articles:



      How to display an icon or image in a column of TVirtualStringTree? (This use multi-column)



      Icon position in Virtual Treeview (This does not discuss tiling of nodes horizontally.



      Delphi - ListView or similar with owner draw button ( THis also tile the nodes vertically)




      1. I then try to search keyword horizontally in the help document of Virtual TreeView, but what I get are all about how to scroll horizontally, not tile node horizontally.


      I think I have tried my best to find a solution but failed. That is the reason why I ask on stackoverflow.







      delphi delphi-xe3 virtualtreeview






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 24 '18 at 7:53









      Tom Brunberg

      13.3k62340




      13.3k62340










      asked Nov 23 '18 at 10:41









      alanccalancc

      4622822




      4622822
























          1 Answer
          1






          active

          oldest

          votes


















          2














          I don't think this is possible, at least Virtual TreeView was never designed to do this. It is a tree control that supports columns.






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445124%2fhow-to-simulate-tlistviewvsicon-mode-with-virtual-treeview%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            I don't think this is possible, at least Virtual TreeView was never designed to do this. It is a tree control that supports columns.






            share|improve this answer




























              2














              I don't think this is possible, at least Virtual TreeView was never designed to do this. It is a tree control that supports columns.






              share|improve this answer


























                2












                2








                2







                I don't think this is possible, at least Virtual TreeView was never designed to do this. It is a tree control that supports columns.






                share|improve this answer













                I don't think this is possible, at least Virtual TreeView was never designed to do this. It is a tree control that supports columns.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 24 '18 at 9:17









                Joachim MarderJoachim Marder

                519312




                519312
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445124%2fhow-to-simulate-tlistviewvsicon-mode-with-virtual-treeview%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                    Alcedinidae

                    Origin of the phrase “under your belt”?