亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tntcomctrls.pas

?? Delphi知道現(xiàn)在也沒有提供Unicode支持
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
    FxxxMultiSelect: Boolean;
    FxxxSortType: TSortType;
    FxxxColumnClick: Boolean;
    FxxxShowColumnHeaders: Boolean;
    FxxxListItems: TListItems{TNT-ALLOW TListItems};
    FxxxClicked: Boolean;
    FxxxRClicked: Boolean;
    FxxxIconOptions: TIconOptions;
    FxxxHideSelection: Boolean;
    FListColumns: TListColumns{TNT-ALLOW TListColumns};
  end;
{$ENDIF}
{$IFDEF DELPHI_7} // verified against VCL source in Delphi 7
type
  THackCustomListView = class(TCustomMultiSelectListControl)
  protected
    FxxxCanvas: TCanvas;
    FxxxBorderStyle: TBorderStyle;
    FxxxViewStyle: TViewStyle;
    FxxxReadOnly: Boolean;
    FxxxLargeImages: TCustomImageList;
    FxxxSmallImages: TCustomImageList;
    FxxxStateImages: TCustomImageList;
    FxxxDragImage: TDragImageList;
    FxxxMultiSelect: Boolean;
    FxxxSortType: TSortType;
    FxxxColumnClick: Boolean;
    FxxxShowColumnHeaders: Boolean;
    FxxxListItems: TListItems{TNT-ALLOW TListItems};
    FxxxClicked: Boolean;
    FxxxRClicked: Boolean;
    FxxxIconOptions: TIconOptions;
    FxxxHideSelection: Boolean;
    FListColumns: TListColumns{TNT-ALLOW TListColumns};
  end;
{$ENDIF}
{$IFDEF DELPHI_9} // verified against VCL source in Delphi 9
type
  THackCustomListView = class(TCustomMultiSelectListControl)
  protected
    FxxxCanvas: TCanvas;
    FxxxBorderStyle: TBorderStyle;
    FxxxViewStyle: TViewStyle;
    FxxxReadOnly: Boolean;
    FxxxLargeImages: TCustomImageList;
    FxxxSmallImages: TCustomImageList;
    FxxxStateImages: TCustomImageList;
    FxxxDragImage: TDragImageList;
    FxxxMultiSelect: Boolean;
    FxxxSortType: TSortType;
    FxxxColumnClick: Boolean;
    FxxxShowColumnHeaders: Boolean;
    FxxxListItems: TListItems{TNT-ALLOW TListItems};
    FxxxClicked: Boolean;
    FxxxRClicked: Boolean;
    FxxxIconOptions: TIconOptions;
    FxxxHideSelection: Boolean;
    FListColumns: TListColumns{TNT-ALLOW TListColumns};
  end;
{$ENDIF}
{$IFDEF DELPHI_10} // verified against VCL source in Delphi 10
type
  THackCustomListView = class(TCustomMultiSelectListControl)
  protected
    FxxxCanvas: TCanvas;
    FxxxBorderStyle: TBorderStyle;
    FxxxViewStyle: TViewStyle;
    FxxxReadOnly: Boolean;
    FxxxLargeImages: TCustomImageList;
    FxxxSaveSelectedIndex: Integer;
    FxxxSmallImages: TCustomImageList;
    FxxxStateImages: TCustomImageList;
    FxxxDragImage: TDragImageList;
    FxxxMultiSelect: Boolean;
    FxxxSortType: TSortType;
    FxxxColumnClick: Boolean;
    FxxxShowColumnHeaders: Boolean;
    FxxxListItems: TListItems{TNT-ALLOW TListItems};
    FxxxClicked: Boolean;
    FxxxRClicked: Boolean;
    FxxxIconOptions: TIconOptions;
    FxxxHideSelection: Boolean;
    FListColumns: TListColumns{TNT-ALLOW TListColumns};
  end;
{$ENDIF}

var
  ComCtrls_DefaultListViewSort: TLVCompare = nil;

constructor TTntCustomListView.Create(AOwner: TComponent);
begin
  inherited;
  FEditInstance := Classes.MakeObjectInstance(EditWndProcW);
  // create list columns
  Assert(THackCustomListView(Self).FListColumns = inherited Columns, 'Internal Error in TTntCustomListView.Create().');
  FreeAndNil(THackCustomListView(Self).FListColumns);
  THackCustomListView(Self).FListColumns := TTntListColumns.Create(Self);
end;

destructor TTntCustomListView.Destroy;
begin
  inherited;
  Classes.FreeObjectInstance(FEditInstance);
  FreeAndNil(FSavedItems);
end;

procedure TTntCustomListView.CreateWindowHandle(const Params: TCreateParams);

  procedure Capture_ComCtrls_DefaultListViewSort;
  begin
    FTestingForSortProc := True;
    try
      AlphaSort;
    finally
      FTestingForSortProc := False;
    end;
  end;

var
  Column: TLVColumn;
begin
  CreateUnicodeHandle_ComCtl(Self, Params, WC_LISTVIEW);
  if (Win32PlatformIsUnicode) then begin
    if not Assigned(ComCtrls_DefaultListViewSort) then
      Capture_ComCtrls_DefaultListViewSort;
    // the only way I could get editing to work is after a column had been inserted
    Column.mask := 0;
    ListView_InsertColumn(Handle, 0, Column);
    ListView_DeleteColumn(Handle, 0);
  end;
end;

procedure TTntCustomListView.DefineProperties(Filer: TFiler);
begin
  inherited;
  TntPersistent_AfterInherited_DefineProperties(Filer, Self);
end;

procedure TTntCustomListView.CreateWnd;
begin
  inherited;
  FreeAndNil(FSavedItems);
end;

procedure TTntCustomListView.DestroyWnd;
var
  i: integer;
  FSavedItem: TSavedListItem;
  Item: TTntListItem;
begin
  if (not (csDestroying in ComponentState)) and (not OwnerData) then begin
    FreeAndNil(FSavedItems); // fixes a bug on Windows 95.
    FSavedItems := TObjectList.Create(True);
    for i := 0 to Items.Count - 1 do begin
      FSavedItem := TSavedListItem.Create;
      Item := Items[i];
      FSavedItem.FCaption := Item.FCaption;
      FSavedItem.FSubItems.Assign(Item.FSubItems);
      FSavedItems.Add(FSavedItem)
    end;
  end;
  inherited;
end;

function TTntCustomListView.GetDropTarget: TTntListItem;
begin
  Result := inherited DropTarget as TTntListItem;
end;

procedure TTntCustomListView.SetDropTarget(const Value: TTntListItem);
begin
  inherited DropTarget := Value;
end;

function TTntCustomListView.GetItemFocused: TTntListItem;
begin
  Result := inherited ItemFocused as TTntListItem;
end;

procedure TTntCustomListView.SetItemFocused(const Value: TTntListItem);
begin
  inherited ItemFocused := Value;
end;

function TTntCustomListView.GetSelected: TTntListItem;
begin
  Result := inherited Selected as TTntListItem;
end;

procedure TTntCustomListView.SetSelected(const Value: TTntListItem);
begin
  inherited Selected := Value;
end;

function TTntCustomListView.GetTopItem: TTntListItem;
begin
  Result := inherited TopItem as TTntListItem;
end;

function TTntCustomListView.GetListColumns: TTntListColumns;
begin
  Result := inherited Columns as TTntListColumns;
end;

procedure TTntCustomListView.SetListColumns(const Value: TTntListColumns);
begin
  inherited Columns := Value;
end;

{$IFDEF COMPILER_6} // verified against VCL source in Delphi 6 and BCB 6
type
  THackListColumn = class(TCollectionItem)
  protected
    FxxxAlignment: TAlignment;
    FxxxAutoSize: Boolean;
    FxxxCaption: AnsiString;
    FxxxMaxWidth: TWidth;
    FxxxMinWidth: TWidth;
    FxxxImageIndex: TImageIndex;
    FxxxPrivateWidth: TWidth;
    FxxxWidth: TWidth;
    FOrderTag: Integer;
  end;
{$ENDIF}
{$IFDEF DELPHI_7} // verified against VCL source in Delphi 7
type
  THackListColumn = class(TCollectionItem)
  protected
    FxxxAlignment: TAlignment;
    FxxxAutoSize: Boolean;
    FxxxCaption: AnsiString;
    FxxxMaxWidth: TWidth;
    FxxxMinWidth: TWidth;
    FxxxImageIndex: TImageIndex;
    FxxxPrivateWidth: TWidth;
    FxxxWidth: TWidth;
    FOrderTag: Integer;
  end;
{$ENDIF}
{$IFDEF DELPHI_9} // verified against VCL source in Delphi 9
type
  THackListColumn = class(TCollectionItem)
  protected
    FxxxxxxxxAlignment: TAlignment;
    FxxxxAutoSize: Boolean;
    FxxxxCaption: AnsiString;
    FxxxxMaxWidth: TWidth;
    FxxxxMinWidth: TWidth;
    FxxxxImageIndex: TImageIndex;
    FxxxxPrivateWidth: TWidth;
    FxxxxWidth: TWidth;
    FOrderTag: Integer;
  end;
{$ENDIF}
{$IFDEF DELPHI_10} // verified against VCL source in Delphi 10
type
  THackListColumn = class(TCollectionItem)
  protected
    FxxxxxxxxAlignment: TAlignment;
    FxxxxAutoSize: Boolean;
    FxxxxCaption: AnsiString;
    FxxxxMaxWidth: TWidth;
    FxxxxMinWidth: TWidth;
    FxxxxImageIndex: TImageIndex;
    FxxxxPrivateWidth: TWidth;
    FxxxxWidth: TWidth;
    FOrderTag: Integer;
  end;
{$ENDIF}

function TTntCustomListView.GetColumnFromTag(Tag: Integer): TTntListColumn;
var
  I: Integer;
begin
  for I := 0 to Columns.Count - 1 do
  begin
    Result := Columns[I];
    if THackListColumn(Result).FOrderTag = Tag then Exit;
  end;
  Result := nil;
end;

function TTntCustomListView.ColumnFromIndex(Index: Integer): TTntListColumn;
begin
  Result := inherited Column[Index] as TTntListColumn;
end;

function TTntCustomListView.AreItemsStored: Boolean;
begin
  if Assigned(Action) then
  begin
    if Action is TCustomListAction{TNT-ALLOW TCustomListAction} then
      Result := False
    else
      Result := True;
  end
  else
    Result := not OwnerData;
end;

function TTntCustomListView.GetItems: TTntListItems;
begin
  Result := inherited Items as TTntListItems;
end;

procedure TTntCustomListView.SetItems(Value: TTntListItems);
begin
  inherited Items := Value;
end;

type TTntListItemClass = class of TTntListItem;

function TTntCustomListView.CreateListItem: TListItem{TNT-ALLOW TListItem};
var
  LClass: TClass;
  TntLClass: TTntListItemClass;
begin
  LClass := TTntListItem;
  if Assigned(OnCreateItemClass) then
    OnCreateItemClass(Self, TListItemClass(LClass));
  if not LClass.InheritsFrom(TTntListItem) then
    raise ETntInternalError.Create('Internal Error: OnCreateItemClass.ItemClass must inherit from TTntListItem.');
  TntLClass := TTntListItemClass(LClass);
  Result := TntLClass.Create(inherited Items);
  if FTempItem = nil then
    FTempItem := Result as TTntListItem; { In Delphi 5/6/7/9/10, the first item created is the temp item }
  { TODO: Verify that D11 creates a temp item in its constructor. }
end;

function TTntCustomListView.CreateListItems: TListItems{TNT-ALLOW TListItems};
begin
  Result := TTntListItems.Create(Self);
end;

function TTntCustomListView.GetItemW(Value: TLVItemW): TTntListItem;
begin
  with Value do begin
    if (mask and LVIF_PARAM) <> 0 then
      Result := TListItem{TNT-ALLOW TListItem}(lParam) as TTntListItem
    else if iItem >= 0 then
      Result := Items[IItem]
    else if OwnerData then
      Result := FTempItem
    else
      Result := nil
  end;
end;

function TTntCustomListView.OwnerDataFetchW(Item: TListItem{TNT-ALLOW TListItem}; Request: TItemRequest): Boolean;
begin
  Result := OwnerDataFetch(Item, Request);
end;

function TTntCustomListView.OwnerDataFetch(Item: TListItem{TNT-ALLOW TListItem}; Request: TItemRequest): Boolean;
begin
  if Assigned(OnData) then
  begin
    OnData(Self, Item);
    Result := True;
  end
  else Result := False;
end;

function TntDefaultListViewSort(Item1, Item2: TTntListItem; lParam: Integer): Integer; stdcall;
begin
  Assert(Win32PlatformIsUnicode);
  with Item1 do
    if Assigned(ListView.OnCompare) then
      ListView.OnCompare(ListView, Item1, Item2, lParam, Result)
    else Result := lstrcmpw(PWideChar(Item1.Caption), PWideChar(Item2.Caption));
end;

procedure TTntCustomListView.WndProc(var Message: TMessage);
var
  Item: TTntListItem;
  InheritedItem: TListItem{TNT-ALLOW TListItem};
  SubItem: Integer;
  SavedItem: TSavedListItem;
  PCol: PLVColumn;
  Col: TTntListColumn;
begin
  with Message do begin
    // restore previous values (during CreateWnd)
    if (FSavedItems <> nil) and (FChangingWideItemCount = 0) and (Msg = LVM_SETITEMTEXTA) then begin
      Item := Items[wParam];
      SavedItem := TSavedListItem(FSavedItems[wP

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲国产伦久久久久久久| 国产一区二区视频在线播放| 一本色道久久加勒比精品| 中文字幕制服丝袜成人av| 成人免费毛片片v| 亚洲乱码精品一二三四区日韩在线| 9i看片成人免费高清| 亚洲黄网站在线观看| 欧美裸体bbwbbwbbw| 麻豆国产91在线播放| 久久久久久久久久久99999| 成人黄色免费短视频| 一区二区三区四区中文字幕| 欧美日韩二区三区| 久久99久久99精品免视看婷婷| 国产欧美一区二区在线观看| 色综合久久久久久久久| 日韩精品久久久久久| 2014亚洲片线观看视频免费| 成人福利在线看| 亚洲国产精品久久一线不卡| 精品国产一区二区三区av性色| 国产激情偷乱视频一区二区三区| 亚洲精品国久久99热| 日韩一级成人av| 成人动漫av在线| 午夜精品久久久久久久蜜桃app| 欧美成人三级在线| 91丨porny丨在线| 秋霞午夜av一区二区三区| 国产日韩影视精品| 欧美日韩精品高清| 国产mv日韩mv欧美| 日本 国产 欧美色综合| 亚洲色图视频免费播放| 欧美成人精精品一区二区频| 91久久精品一区二区| 国产美女在线观看一区| 香蕉加勒比综合久久| 日本一区二区三区在线不卡| 欧美精品黑人性xxxx| 99久久99久久久精品齐齐| 精品一区二区三区在线观看| 亚洲女女做受ⅹxx高潮| 久久久美女毛片| 4438x亚洲最大成人网| 97国产精品videossex| 国产一区不卡视频| 免费人成黄页网站在线一区二区| 亚洲精品免费在线观看| 久久久久久久久久看片| 欧美大片在线观看| 欧美猛男超大videosgay| 91色乱码一区二区三区| 国产伦精一区二区三区| 日本欧美大码aⅴ在线播放| 亚洲另类一区二区| 国产精品久久福利| 国产亚洲欧美日韩在线一区| 欧美电影免费提供在线观看| 欧美日韩一区二区三区不卡| 91麻豆免费看片| 成人的网站免费观看| 成人午夜精品在线| 国产成人av一区二区| 国产一区二区三区久久悠悠色av| 日本欧美久久久久免费播放网| 亚洲h动漫在线| 亚洲裸体xxx| 亚洲蜜臀av乱码久久精品| 亚洲欧美日韩中文字幕一区二区三区| 国产欧美日韩综合| 国产日韩欧美不卡| 国产精品乱码一区二区三区软件 | 成人av电影在线| 国产精品综合二区| 国产美女在线观看一区| 国产成人精品免费网站| 成人性视频免费网站| 成人涩涩免费视频| 国产精品99久久久久久久女警| 国内精品不卡在线| 国产在线视频一区二区三区| 国产美女娇喘av呻吟久久| 国产精品911| 成人动漫中文字幕| 91福利国产精品| 欧美日韩国产系列| 日韩一区二区三区观看| 精品少妇一区二区三区免费观看| 精品日韩欧美在线| 久久精品免费在线观看| 国产精品不卡在线| 午夜私人影院久久久久| 美腿丝袜在线亚洲一区| 国产乱国产乱300精品| 成人午夜精品一区二区三区| 在线观看精品一区| 欧美另类一区二区三区| 日韩三级中文字幕| 国产嫩草影院久久久久| 一区二区在线免费观看| 日韩影视精彩在线| 精品一区二区三区久久| 成人精品免费看| 欧美麻豆精品久久久久久| 久久久午夜电影| 亚洲一区免费视频| 美女视频网站黄色亚洲| 成人开心网精品视频| 精品视频一区二区不卡| 亚洲精品一区在线观看| 亚洲欧美乱综合| 蜜桃久久久久久久| 99久久99久久免费精品蜜臀| 日韩一区二区不卡| 国产精品毛片无遮挡高清| 午夜精品久久一牛影视| 成年人网站91| 日韩欧美国产系列| 亚洲精选视频免费看| 麻豆精品国产传媒mv男同| 91原创在线视频| 久久人人爽爽爽人久久久| 亚洲影院在线观看| 国产91在线看| 日韩视频一区二区在线观看| 亚洲欧美另类久久久精品| 精品一区二区三区在线观看国产| 色噜噜偷拍精品综合在线| 久久综合成人精品亚洲另类欧美| 一区二区在线免费| 国产成人超碰人人澡人人澡| 欧美一级夜夜爽| 一区二区三区精密机械公司| 国产精品 欧美精品| 欧美一卡2卡3卡4卡| 亚洲精品国产第一综合99久久| 日本不卡一二三区黄网| 色欧美乱欧美15图片| 国产视频一区在线播放| 乱一区二区av| 91麻豆精品国产91久久久久| 亚洲精品福利视频网站| 韩国午夜理伦三级不卡影院| 欧美一区二区视频观看视频| 亚洲最大成人综合| 97国产精品videossex| 国产精品视频第一区| 国产美女精品一区二区三区| 日韩女优av电影| 日韩中文字幕麻豆| 欧美亚洲动漫另类| 亚洲精品视频免费看| 99久久婷婷国产综合精品电影| 日本一区二区免费在线观看视频| 国产综合久久久久久鬼色| 日韩精品专区在线| 蜜臀av一区二区三区| 欧美日韩精品系列| 肉色丝袜一区二区| 欧美日韩国产三级| 天堂va蜜桃一区二区三区漫画版| 欧美性欧美巨大黑白大战| 亚洲午夜av在线| 欧美在线视频全部完| 亚洲一区中文日韩| 欧美日韩免费一区二区三区 | 麻豆成人久久精品二区三区红| 欧美日韩高清在线| 日韩高清一区二区| 制服丝袜亚洲色图| 男女性色大片免费观看一区二区| 制服丝袜日韩国产| 理论片日本一区| 久久久亚洲高清| av动漫一区二区| 亚洲精品中文在线观看| 欧美日韩视频专区在线播放| 爽好久久久欧美精品| 欧美一区午夜精品| 国内成人免费视频| 欧美韩日一区二区三区四区| 91女厕偷拍女厕偷拍高清| 亚洲一区二区高清| 日韩午夜激情视频| 国产高清一区日本| 亚洲桃色在线一区| 欧美日本国产一区| 麻豆成人91精品二区三区| 欧美国产视频在线| 欧美综合视频在线观看| 免费成人在线视频观看| 久久久精品国产免大香伊| 97久久精品人人澡人人爽| 婷婷开心激情综合| 久久精品人人做人人综合| 91麻豆福利精品推荐| 轻轻草成人在线| 国产精品美女久久久久久久久 |