Home > Back-end >  Why ListView1. Items. Insert (0) after the newly inserted ListItem is not shown in proper position?
Why ListView1. Items. Insert (0) after the newly inserted ListItem is not shown in proper position?

Time:01-05

Why ListView1. Items. Insert (0) after the newly inserted ListItem is not shown in proper position?
The test code is as follows:
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

# include & lt; The VCL. H>
# pragma hdrstop

# include "Unit1. H"
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
# pragma package (smart_init)
# pragma resource "*. DFM
"TForm1 * Form1;
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
__fastcall TForm1: : TForm1 (TComponent * Owner)
: TForm (the Owner)
{
This - & gt; ListView1 - & gt; ViewStyle=vsIcon;
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : Button1Click (TObject * Sender)
{
TListItem * li;
For (int I=1; i<=3; + + I)
{
Li=this - & gt; ListView1 - & gt; The Items - & gt; The Add ();
Li - & gt; Caption "add"=L + IntToStr (I);
}
Li=this - & gt; ListView1 - & gt; The Items - & gt; Insert (0);
Li - & gt; Caption=L "insert0";
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : ListView1Click (TObject * Sender)
{
This - & gt; Caption=IntToStr (this - & gt; ListView1 - & gt; ItemIndex);
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

CodePudding user response:

Baidu to a stupid way: ListItem SetPosition method, and then Arrange rearrange,
The same is true of the ListView baidu to c #, the estimate is win32 ListView control so originally, class library after encapsulation can only so,

CodePudding user response:

Or all the Clear empty project, and then according to certain order to add, and then make a project, but this may change scrollbar position (i.e. project in the location of the workspace),
  • Related