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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? umain.pas

?? 自己寫的一個 RSS 閱讀器
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
begin
  if (key = VK_RETURN) and (AddressBox.Text <> '') then
  begin
    FindAddress(AddressBox.Text);
  end;
end;

procedure TMainWindow.BarCmbStyleChange(Sender: TObject);
begin
  ApplyStyle(Sender);
end;

procedure TMainWindow.EmbeddedWB1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
var NewIndex,index:Integer;
begin
  if (EmbeddedWB1.LocationURL<>'') and (EmbeddedWB1.LocationURL<>'about:blank')then
  begin
    BarCmbStyle.Enabled:=False;
    NewIndex := HistoryList.IndexOf(EmbeddedWB1.LocationURL);
    if NewIndex = -1 then
    begin
      if (HistoryIndex >= 0) and (HistoryIndex < HistoryList.Count-1) then
        while HistoryList.Count-1 > HistoryIndex do
          HistoryList.Delete(HistoryIndex);
      HistoryIndex := HistoryList.Add(EmbeddedWB1.LocationURL);
    end
    else
    HistoryIndex := NewIndex;
    index := AddressBox.Items.IndexOf(EmbeddedWB1.LocationURL);
    if index < 0 then
      AddressBox.Items.Insert(0, EmbeddedWB1.LocationURL)
    else
      AddressBox.Items.Move(Index, 0);
    AddressBox.Text:=EmbeddedWB1.LocationURL;
  end;
end;

procedure TMainWindow.EmbeddedWB1NavigateComplete2(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var NewIndex,index:Integer;
begin
  if (EmbeddedWB1.LocationURL<>'') and (EmbeddedWB1.LocationURL<>'about:blank')then
  begin
    NewIndex := HistoryList.IndexOf(EmbeddedWB1.LocationURL);
    if NewIndex = -1 then
    begin
      if (HistoryIndex >= 0) and (HistoryIndex < HistoryList.Count-1) then
        while HistoryList.Count-1 > HistoryIndex do
          HistoryList.Delete(HistoryIndex);
      HistoryIndex := HistoryList.Add(EmbeddedWB1.LocationURL);
    end
    else
      HistoryIndex := NewIndex;
    index := AddressBox.Items.IndexOf(EmbeddedWB1.LocationURL);
    if index < 0 then
      AddressBox.Items.Insert(0, EmbeddedWB1.LocationURL)
    else
      AddressBox.Items.Move(Index, 0);
    AddressBox.Text:=EmbeddedWB1.LocationURL;
  end;
end;

procedure TMainWindow.AddressBoxChange(Sender: TObject);
begin
  if (AddressBox.Text<>EmbeddedWB1.LocationURL) and (AddressBox.Text<>'') then
    EmbeddedWB1.Navigate(AddressBox.Text);
end;

procedure TMainWindow.actStopExecute(Sender: TObject);
begin
  EmbeddedWB1.Stop;
end;

procedure TMainWindow.actStopUpdate(Sender: TObject);
begin
  actStop.Enabled:=EmbeddedWB1.Busy;
end;

procedure TMainWindow.actRefreshExecute(Sender: TObject);
begin
  if BarCmbStyle.Enabled then
     ApplyStyle(Sender)
  else
    EmbeddedWB1.Refresh;
end;

procedure TMainWindow.actRefreshUpdate(Sender: TObject);
begin
  actRefresh.Enabled:=True;
end;

procedure TMainWindow.P1Click(Sender: TObject);
begin
  if FeedTree.FocusedNode=nil then
    Exit;
  FeedPropertyExec(TFeedItem(FeedTree.FocusedNode.Data));
end;

procedure TMainWindow.cxTreeList1DblClick(Sender: TObject);
var
   item:TcxTreeListNode;
begin
  item:=cxTreeList1.FocusedNode;
  if item<>nil then
    EmbeddedWB1.Navigate(TLocalRssItem(item.Data).Link);
end;

procedure TMainWindow.cxTreeList1CustomDrawCell(Sender: TObject;
  ACanvas: TcxCanvas; AViewInfo: TcxTreeListEditCellViewInfo;
  var ADone: Boolean);
var aID:Integer;
  FItem:TFlagItem;
begin
  
  if Odd(AViewInfo.Node.AbsoluteIndex) then
    ACanvas.Brush.Color := RGB(245,245,245);
  if AViewInfo.Node.Values[0] then
    ACanvas.Font.Style := []
  else
    ACanvas.Font.Style := [fsBold];
  try
    aID := AViewInfo.Node.Values[1];
    if aID>1 then
    begin
      FItem:=FlagList.Get_ItemByFlagID(aID);
      if FItem<>nil then
      begin
        ACanvas.Font.Color := StringToColor(FItem.FontColor);
        ACanvas.Brush.Color := StringToColor(FItem.BGColor);
      end
      else
      begin
        TLocalRssItem(AViewInfo.Node.Data).Flag := 0;
        AViewInfo.Node.Values[1] := 0;
      end;
    end
    else
      if aID = 1 then ACanvas.Font.Color:=clRed;
  finally // wrap up

  end;    // try/finally
  if AViewInfo.Selected then
  begin
    ACanvas.Brush.Color := clHighlight;
    ACanvas.Font.Color :=clHighlightText;
  end;
    
end;

procedure TMainWindow.BarBtnShowPerviewClick(Sender: TObject);
begin
  cxTreeList1.Preview.Visible :=not cxTreeList1.Preview.Visible;
  BarBtnShowPerview.Down := cxTreeList1.Preview.Visible;
  gProperties.ShowPerview := cxTreeList1.Preview.Visible;
end;

procedure TMainWindow.cxTreeList1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var node:TcxTreeListNode;
begin
  node := cxTreeList1.GetNodeAt(x,y);
  if node<>nil then
   cxTreeList1.PopupMenu := PMRssItem
  else
   cxTreeList1.PopupMenu := nil;
  ClickX := X + PanelLeft.Width + JvNetscapeSplitter1.Width;
  ClickY := Y + JvNetscapeSplitter1.Top + cxTreeList1.Top + 38;
end;

procedure TMainWindow.actMakeReadExecute(Sender: TObject);
var i:Integer;
begin
  try
    for i := 0 to cxTreeList1.SelectionCount - 1 do
    begin
      cxTreeList1.Selections[i].Values[0] := true;
      TLocalRssItem(cxTreeList1.Selections[i].Data).Readed := True;
    end;
    TLocalRssFeed(TLocalRssItem(cxTreeList1.Selections[0].Data).Owner.Owner).ExecItemChanged;
  finally // wrap up

  end;    // try/finally
end;

procedure TMainWindow.actMakeUnReadExecute(Sender: TObject);
var i:Integer;
begin
  try
    for i := 0 to cxTreeList1.SelectionCount - 1 do
    begin
    cxTreeList1.Selections[i].Values[0] := false;
    TLocalRssItem(cxTreeList1.Selections[i].Data).Readed := False;
    end;
    TLocalRssFeed(TLocalRssItem(cxTreeList1.Selections[0].Data).Owner.Owner).ExecItemChanged;
  finally // wrap up
    AutoSetReaded := False;
  end;
end;

procedure TMainWindow.actMakeReadUpdate(Sender: TObject);
begin
  actMakeRead.Enabled:=(cxTreeList1.FocusedNode.Values[0]=false)
  or (cxTreeList1.SelectionCount>1);
end;

procedure TMainWindow.actMakeUnReadUpdate(Sender: TObject);
begin
  actMakeUnRead.Enabled:=(cxTreeList1.FocusedNode.Values[0]=True)
  or (cxTreeList1.SelectionCount>1);
end;

procedure TMainWindow.actDeleteItemExecute(Sender: TObject);
var
  i:Integer;
  node:TcxTreeListNode;
begin
  for  i := cxTreeList1.SelectionCount - 1 downto  0 do    // Iterate
  begin
    node := cxTreeList1.Selections[i];
    TLocalRssItem(node.Data).Delete := True;
  end;
  //注: 不能在循環中使用 node.Delete 來刪除項目(容易 OutOf Bound)
  //    在刪除所有RssItem后,在 通過 下面語句來刪除TreeList中的節點

  TLocalRssFeed(TLocalRssItem(node.Data).Owner.Owner).ExecItemChanged;
  cxTreeList1.DeleteSelection;
end;

procedure TMainWindow.actDeleteItemUpdate(Sender: TObject);
begin
  actDeleteItem.Enabled := cxTreeList1.SelectionCount > 0;
end;

procedure TMainWindow.cxTreeList1Click(Sender: TObject);
begin
  if ( cxTreeList1.HitTest.HitAtNode) then
  begin
    if (cxTreeList1.HitTest.HitColumn = Col_Read) then
      begin
        cxTreeList1.FocusedNode.Values[0] := not cxTreeList1.FocusedNode.Values[0];
        TLocalRssItem(cxTreeList1.FocusedNode.Data).Readed:=cxTreeList1.FocusedNode.Values[0];
        
        TLocalRssFeed(TLocalRssItem(cxTreeList1.FocusedNode.Data).Owner.Owner).ExecItemChanged;
        AutoSetReaded := False;
      end
    else
    begin
      if cxTreeList1.HitTest.HitColumn = Col_Flag then
      begin
        PMFlag.Popup(ClickX,ClickY);
      end;
    end;
  end;
end;

procedure TMainWindow.actPreviewExecute(Sender: TObject);
begin
  cxTreeList1.GotoPrev;
end;

procedure TMainWindow.actPreviewUpdate(Sender: TObject);
begin
  actPreview.Enabled := (not cxTreeList1.IsBOF) and (cxTreeList1.FocusedNode<>nil);
end;

procedure TMainWindow.actNextExecute(Sender: TObject);
begin
  cxTreeList1.GotoNext;
end;

procedure TMainWindow.actNextUpdate(Sender: TObject);
begin
  actNext.Enabled := (not cxTreeList1.IsEOF) and (cxTreeList1.FocusedNode<>nil);
end;

function TMainWindow.IsUnreadBOF:Boolean;
var i:Integer;
  node:TcxTreeListNode;
begin
  Result := True;
  if (cxTreeList1.Count<=0) or (cxTreeList1.FocusedNode=nil) then
    Exit;
  for i := cxTreeList1.FocusedNode.Index - 1 downto 0 do    // Iterate
    begin
      node := cxTreeList1.Items[i];
      if not node.Values[0] then
      begin
        PrevUnreadNode := node;
        Result := False;
        Break;
      end;
    end;    // for
end;

function TMainWindow.IsUnreadEOF:Boolean;
var i:Integer;
  node:TcxTreeListNode;
begin
  Result := True;
  if (cxTreeList1.Count<=0) or (cxTreeList1.FocusedNode=nil) then
    Exit;
  for i := cxTreeList1.FocusedNode.Index + 1 to cxTreeList1.Count -1 do    // Iterate
    begin
      node := cxTreeList1.Items[i];
      if not node.Values[0] then
      begin
        NextUnreadNode := node ;
        Result := False;
        Break;
      end;
    end;    // for
end;

procedure TMainWindow.EmbeddedWB1ScriptError(Sender: TObject; ErrorLine,
  ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: String;
  var ContinueScript, Showdialog: Boolean);
begin
  ContinueScript := True;
  Showdialog := False;
end;

procedure TMainWindow.FeedTreeMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  feedItem:TFeedItem;
  favItem:TFavItem;
  rootnode,node:TcxTreeListNode;
begin
  if Button=mbright then
  begin
    node:=FeedTree.GetNodeAt(x,y);
    if node=nil then
    begin
      FeedTree.PopupMenu := nil;
      Exit;
    end;

    FeedTree.SetFocusedNode(node,[]);

    rootnode :=GetRootNode(node);
    if rootnode = ChannelNode then
    begin
      if node.Level=0 then
      begin
        FeedTree.PopupMenu := PMChannel;
        Exit;
      end;
      if TFeedItem(node.Data).Outline.Type_='folder' then
        FeedTree.PopupMenu := PMFolder
      else
        FeedTree.PopupMenu:=PMFeed;
    end
    else
    begin
      if rootnode = FavoritesNode then
      begin
        if node.Level=0 then
        begin
          FeedTree.PopupMenu := PMFav;
          Exit;
        end;
        if TfavItem(node.Data).Outline.Type_='folder' then
          FeedTree.PopupMenu := PMFavFolder
        else
          FeedTree.PopupMenu:=PMFavItem;
      end
      else
      begin
        FeedTree.PopupMenu:=PMSearch;
      end;
    end;
  end;
end;

procedure TMainWindow.FeedTreeCustomDrawCell(Sender: TObject;
  ACanvas: TcxCanvas; AViewInfo: TcxTreeListEditCellViewInfo;
  var ADone: Boolean);
begin
  try
    if AViewInfo.Node.Values[1]>0 then
      ACanvas.Font.Style := [fsBold];

    if AViewInfo.Node.Level=0 then
      ACanvas.Font.Color := clBlue;
  finally // wrap up

  end;    // try/finally
  if Odd(AViewInfo.Node.AbsoluteIndex) then
    ACanvas.Brush.Color:=RGB(245,245,245);
  if AViewInfo.Selected then
  begin
    ACanvas.Brush.Color := clHighlight;
    ACanvas.Font.Color :=clHighlightText;
  end;
end;

procedure TMainWindow.cxTreeList1Change(Sender: TObject);
begin
   actPreUnread.Enabled := not IsUnreadBOF ;
   actNextUnread.Enabled := not IsUnreadEOF;
end;

procedure TMainWindow.FeedTreeFocusedNodeChanged(Sender: TObject;
  APrevFocusedNode, AFocusedNode: TcxTreeListNode);
var
  feedItem:TFeedItem;
  favItem:TFavItem;
  rootnode,node:TcxTreeListNode;
begin
    node:=AFocusedNode;
    ShowHtmlInBrowser('');
    if node=nil then
    begin
      FeedTree.PopupMenu := nil;
      Exit;
    end;
  
  if (AFocusedNode.Level=0) then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜视频在线观看| 国产精品人人做人人爽人人添 | av一区二区三区在线| 在线观看成人免费视频| 亚洲精品欧美综合四区| 成人免费毛片高清视频| 中文字幕中文字幕在线一区| 国产精品一区二区三区四区| 中文字幕第一区综合| 色呦呦国产精品| 亚洲一区二区在线观看视频| 日韩丝袜情趣美女图片| 国产精品亚洲午夜一区二区三区| 国产欧美一区二区精品仙草咪| 成人h版在线观看| 洋洋成人永久网站入口| 7777精品伊人久久久大香线蕉| 香港成人在线视频| 日本一区二区三区在线不卡| 欧美日韩精品三区| 国产成人免费视频网站高清观看视频 | 精品久久久久久综合日本欧美| 成人综合激情网| 亚洲精品日日夜夜| 日韩精品一区二区三区中文精品 | 日韩在线一区二区三区| 中文字幕日韩精品一区| 欧美一区二区福利在线| 免费观看成人av| 国产精品二三区| 精品91自产拍在线观看一区| 欧美在线一二三四区| 国产一区三区三区| 日韩精品亚洲一区| 洋洋成人永久网站入口| 亚洲激情六月丁香| 亚洲高清免费视频| 日韩精品欧美精品| 日韩精品五月天| 老司机精品视频在线| 日韩 欧美一区二区三区| 久久国产福利国产秒拍| 国产做a爰片久久毛片| 丁香亚洲综合激情啪啪综合| 99久久伊人网影院| 91久久精品一区二区| 91精品国产手机| 《视频一区视频二区| 亚洲欧美日韩中文播放 | 成人app软件下载大全免费| 99久久伊人精品| 91麻豆精品一区二区三区| 欧美一区二区啪啪| 国产精品伦理一区二区| 亚洲欧美怡红院| 捆绑调教一区二区三区| 99久久精品免费精品国产| 欧美精品色一区二区三区| www亚洲一区| 亚洲成a人v欧美综合天堂下载| 日韩国产欧美视频| 丁香网亚洲国际| 欧美日韩一级二级| 国产精品私人影院| 亚洲精品国产一区二区精华液 | 日韩免费电影一区| 一区二区理论电影在线观看| 94-欧美-setu| 亚洲色欲色欲www在线观看| 国产一区二区伦理| 日韩欧美国产精品| 麻豆国产91在线播放| 欧美电影一区二区| 美腿丝袜在线亚洲一区| 欧美色图12p| 日本强好片久久久久久aaa| 色婷婷综合久久久中文一区二区| 日韩视频一区二区三区| 午夜精品免费在线观看| 91欧美一区二区| 亚洲大尺度视频在线观看| 色综合色狠狠天天综合色| 久久久精品免费免费| 国产精品亚洲成人| 欧美韩国日本综合| 91视频www| 亚洲第一成年网| 精品久久久久久久久久久院品网 | 91.com视频| 香蕉久久夜色精品国产使用方法| 欧美日韩免费视频| 国产一区福利在线| 亚洲一区在线电影| 26uuu另类欧美亚洲曰本| 国产69精品久久777的优势| 亚洲另类一区二区| 欧美成人国产一区二区| 99re这里只有精品首页| 美腿丝袜亚洲色图| 亚洲人吸女人奶水| 精品国产伦一区二区三区观看体验| 懂色av一区二区三区免费观看| 亚洲综合av网| 国产午夜精品一区二区三区嫩草 | 久久精品二区亚洲w码| 亚洲摸摸操操av| 国产精品伦理一区二区| 久久久精品蜜桃| 日韩精品一区二区三区四区 | 亚洲综合视频网| 国产精品国产成人国产三级| 精品黑人一区二区三区久久| 91精品国产福利在线观看 | 久久欧美一区二区| 在线不卡免费av| 在线观看亚洲成人| 91福利在线看| 欧美色图在线观看| 欧美日韩成人激情| 欧美日韩精品是欧美日韩精品| 99久久精品国产观看| 99久久夜色精品国产网站| kk眼镜猥琐国模调教系列一区二区| 激情五月播播久久久精品| 六月丁香婷婷久久| 久久66热偷产精品| 久久精品国产澳门| 麻豆精品视频在线观看免费| 亚洲午夜成aⅴ人片| 日韩精品成人一区二区三区| 蜜桃视频在线一区| 国产福利一区在线| 成熟亚洲日本毛茸茸凸凹| 波多野结衣在线一区| 欧美最新大片在线看 | 亚洲欧美激情在线| 肉肉av福利一精品导航| 国产一区福利在线| 91视频.com| 5566中文字幕一区二区电影 | 丝袜美腿亚洲色图| 成人免费看黄yyy456| 欧美美女视频在线观看| 国产精品国产精品国产专区不蜜| 一区二区三区四区五区视频在线观看| 亚洲福中文字幕伊人影院| 亚洲成人免费看| 久久精品免费观看| 国产成人在线网站| 色婷婷狠狠综合| 欧美精品一区二区三区在线| 亚洲精品成人精品456| 成人一级黄色片| 欧美日韩精品免费| 中文字幕亚洲精品在线观看| 激情文学综合插| 欧美一区二区三区白人| 亚洲影视在线观看| 99久久综合精品| 国产精品激情偷乱一区二区∴| 美女免费视频一区二区| 91久久线看在观草草青青| 亚洲日本在线看| 国产不卡视频在线观看| 久久综合一区二区| 久久99热国产| 日韩一级大片在线观看| 亚洲第一在线综合网站| 欧美一区永久视频免费观看| 亚洲夂夂婷婷色拍ww47| 国产69精品久久久久毛片| 亚洲国产成人在线| 91在线视频18| 一区二区三区日韩精品视频| 色综合一区二区| 亚洲第一综合色| 久久―日本道色综合久久| 久久aⅴ国产欧美74aaa| 国产亚洲综合在线| 97久久精品人人爽人人爽蜜臀 | 成人av免费网站| 樱桃视频在线观看一区| 欧美日韩一区二区在线视频| 日韩精品成人一区二区在线| 日韩欧美三级在线| 免费不卡在线观看| 日韩三级.com| 99国产欧美久久久精品| 一区二区三区av电影| 精品国产免费视频| 一本大道av一区二区在线播放| 一区二区在线观看av| 久久丝袜美腿综合| 91精品办公室少妇高潮对白| 九九国产精品视频| 亚洲18影院在线观看| 亚洲免费资源在线播放| 久久久国产一区二区三区四区小说 | 欧美精品在线一区二区三区| 一本久久a久久精品亚洲|