public void TestGetColumnOver256()
        {
            NativeListControl list = new NativeListControl(testDlg.IdentifyFromDialogId(1037));
            StringBuilder overText = new StringBuilder();
            for (int i = 0; i < 259; i++)//ツリーの文字数最大がデフォルトで259。
            {
                overText.Append((i % 10).ToString());
            }

            //設定
            LVCOLUMN_CORE setData = new LVCOLUMN_CORE();
            setData.mask = (int)LVCF.TEXT;
            setData.iSubItem = 0;
            SetLVCOLUMN(list, setData, overText.ToString());

            //取得
            LVCOLUMN getData = new LVCOLUMN();
            getData.mask = LVCF.TEXT;
            list.GetColumn(0, getData);
            Assert.AreEqual(overText.ToString(), getData.pszText);
        }
 /// <summary>
 /// カラム設定
 /// </summary>
 /// <param name="list">リストコントロール</param>
 /// <param name="col">カラムデータ</param>
 /// <param name="text">テキスト</param>
 private void SetLVCOLUMN(NativeListControl list, LVCOLUMN_CORE col, string text)
 {
     if (text != null)
     {
         col.pszText = isUni ? (IntPtr)app[typeof(Marshal), "StringToCoTaskMemUni"](text).Core :
                                   (IntPtr)app[typeof(Marshal), "StringToCoTaskMemAnsi"](text).Core;
     }
     int LVM_SETCOLUMN = isUni ? LVM_SETCOLUMNW : LVM_SETCOLUMNA;
     app["Codeer.Friendly.Windows.NativeStandardControls.Inside.NativeMethods.SendMessage"](list.Handle, LVM_SETCOLUMN, new IntPtr(col.iSubItem), col);
     if (text != null)
     {
         app[typeof(Marshal), "FreeCoTaskMem"](col.pszText);
     }
 }
        public void TestGetColumn()
        {
            NativeListControl list = new NativeListControl(testDlg.IdentifyFromDialogId(1037));
            LVCOLUMN_CORE setData = new LVCOLUMN_CORE();
            LVCOLUMN column = new LVCOLUMN();
            foreach (LVCF element in (LVCF[])Enum.GetValues(typeof(LVCF)))
            {
                setData.mask |= (int)element;
                column.mask |= element;
            }

            //検証データを設定
            setData.fmt = 0x4802;
            setData.cx = 30;
            setData.iSubItem = 1;
            setData.iImage = 2;
            setData.iOrder = 1;
            setData.cxMin = 20;
            setData.cxDefault = 25;
            setData.cxIdeal = 30;
            SetLVCOLUMN(list, setData, "abc");

            //取得
            list.GetColumn(1, column);
            
            //比較
            Assert.AreEqual(setData.fmt, column.fmt);
            Assert.AreEqual(setData.cx, column.cx);
            Assert.AreEqual("abc", column.pszText); 
            Assert.AreEqual(setData.iSubItem, column.iSubItem);
            Assert.AreEqual(setData.iImage, column.iImage);
            Assert.AreEqual(setData.iOrder, column.iOrder);
            if (isUni && OSUtility.Is7or8())
            {
                Assert.AreEqual(setData.cxMin, column.cxMin);
                Assert.AreEqual(setData.cxDefault, column.cxDefault);
                Assert.AreEqual(setData.cxIdeal, column.cxIdeal);
            }
        }