📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SkinControls, Skin, SkinEngine, SkinImage, SkinButtons,
TFlatButtonUnit, StdCtrls, TFlatComboBoxUnit, TFlatEditUnit,
TFlatGroupBoxUnit, ExtCtrls, TFlatCheckBoxUnit, ShellAPI, mshtml, OleCtrls,
Menus, DB, ADODB, ComCtrls,ImgList, TFlatPanelUnit, SHDocVw,TFlatSpeedButtonUnit,
DropShellListView, AppEvnts, ShellCtrls, bsSkinTabs;
const
My_Message=WM_USER+100;
type
TForm1 = class(TForm)
SkinEngine1: TSkinEngine;
SkinForm1: TSkinForm;
ImageTitle: TSkinImage;
ButtonClose: TSkinButton;
ButtonMin: TSkinButton;
Label1: TLabel;
Label2: TLabel;
ImageTool: TImage;
Panel: TFlatPanel;
SpeedButtonMail: TFlatSpeedButton;
SpeedButtonForum: TFlatSpeedButton;
SpeedButtonSearch: TFlatSpeedButton;
ButtonMail: TImage;
ButtonTool: TImage;
ImageMail1: TImage;
ImageMail2: TImage;
ImageMail3: TImage;
ImageTool1: TImage;
ImageTool2: TImage;
ImageTool3: TImage;
WebBrowser1: TWebBrowser;
ImageList1: TImageList;
QueryNet: TADOQuery;
QueryTp: TADOQuery;
ADOConnection1: TADOConnection;
PM_Net: TPopupMenu;
N_ViewNet: TMenuItem;
N6: TMenuItem;
N_AddAdr: TMenuItem;
N_ChangeCon: TMenuItem;
N5: TMenuItem;
N_DeleteAdr: TMenuItem;
PM_Tp: TPopupMenu;
N_AddTp: TMenuItem;
N2: TMenuItem;
N_ChangeTp: TMenuItem;
N3: TMenuItem;
N_DeleteTp: TMenuItem;
DropShellListView1: TDropShellListView;
PopupMenu1: TPopupMenu;
N4: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
OpenDialog1: TOpenDialog;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
ApplicationEvents1: TApplicationEvents;
image_Right: TImage;
PanelFav: TFlatPanel;
Tab_Tp: TTabControl;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N9: TMenuItem;
N16: TMenuItem;
N18: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
ListView1: TListView;
image_Right2: TImage;
rl_rj_fp: TFlatPanel;
image_Right1: TImage;
Title_PopMenu: TPopupMenu;
N1: TMenuItem;
N17: TMenuItem;
myhint: TLabel;
ImageList2: TImageList;
//procedure ButtonCloseClick(Sender: TObject);
//procedure ButtonMinClick(Sender: TObject);
procedure ButtonMailClick(Sender: TObject);
procedure ButtonToolClick(Sender: TObject);
procedure ButtonMailMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ButtonToolMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure PanelMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SkinForm1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ButtonMailMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ButtonToolMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure SpeedButtonMailClick(Sender: TObject);
procedure SpeedButtonForumClick(Sender: TObject);
procedure SpeedButtonSearchClick(Sender: TObject);
procedure Tab_TpTabChanged(Sender: TObject);
procedure Tab_TpDragDrop(Sender, Source: TObject; X, Y: Integer);
procedure Tab_TpChange(Sender: TObject);
procedure Tab_TpDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure Tab_TpMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure N_ViewNetClick(Sender: TObject);
procedure N_AddAdrClick(Sender: TObject);
procedure N_ChangeConClick(Sender: TObject);
procedure N_DeleteAdrClick(Sender: TObject);
procedure PM_NetPopup(Sender: TObject);
procedure N_AddTpClick(Sender: TObject);
procedure N_ChangeTpClick(Sender: TObject);
procedure N_DeleteTpClick(Sender: TObject);
procedure PM_TpPopup(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
procedure N12Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure Label1MouseEnter(Sender: TObject);
procedure Label1MouseLeave(Sender: TObject);
procedure Label2MouseEnter(Sender: TObject);
procedure Label2MouseLeave(Sender: TObject);
procedure Label3MouseEnter(Sender: TObject);
procedure Label3MouseLeave(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Label2Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N11Click(Sender: TObject);
private
///////////////////////收藏夹方法////////////////////////////
procedure Initialize(TabSet:TTabControl;Query:TADOQuery);
Procedure AddNetName(TvItem:TListView;Query:TADOQuery);
procedure ViewNet(name:string);
procedure IconOnClick(var message:TMessage);message MY_message;
//////////////////////////////////////////////////////////////
public
{ Public declarations }
end;
var
Form1: TForm1;
Atom: Word;
implementation
uses Unit2,rl_unit1;
var
NT:TNotifyIconData;
{$R *.dfm}
//////////////////////////////////////////////////////
procedure TForm1.IconOnClick(var message:TMessage);
var
p:TPoint;
begin
if (message.LParam=WM_LButtonDown) then
self.Title_PopMenu.Items[0].Click;
if (message.LParam=WM_RButtonDown) then
begin
GetCursorPos(p);
self.Title_PopMenu.Popup(p.X,p.Y);
end;
end;
//////////////////////////////////////////////////////
//自定义方法实现部分 ---收藏夹部分
//////////////////////////////////////////////////////
procedure TForm1.Initialize(TabSet:TTabControl;Query:TADOquery);
begin
Query.Sort:='编号 ASC';
Query.Open;
Query.First;
while not Query.Eof do
begin
TabSet.Tabs.Append(Query.FieldByName('类型').Text);
Query.Next;
end;
if TabSet.Tabs.Count>0 then
begin
TabSet.TabIndex:=0;
QueryNet.Close;
QueryNet.SQL.Text:='select * from net where 类型='''+TabSet.Tabs[TabSet.tabIndex]+'''';
QueryNet.Open;
AddNetName(ListView1,QueryNet);
end;
end;
procedure TForm1.AddNetName(TvItem:TListView;Query:TADOQuery);
var
temp:string;
begin
Query.First;
TvItem.Items.Clear;
while not Query.Eof do
begin
temp:=Query.FieldByName('网名').Text;
TvItem.AddItem(temp,ListView1);
Query.Next;
end;
end;
procedure TForm1.ViewNet(name:string);
var
url:string;
begin
Querynet.Filter:='网名='''+name+'''';
Querynet.Filtered:=true;
url:=Querynet.FieldByName('网址').Text;
if pos('http://',url)<>0 then//说明网址里函有http://的字段
url:=copy(url,pos(url,'http://')+8,255);
ShellExecute(self.Handle,nil,pchar('http://'+url),nil,nil,SW_NORMAL);
Querynet.Filtered:=false;
end;
/////////////////////////////////////////////////////////////////
//procedure TForm1.ButtonMinClick(Sender: TObject);
//begin
//Application.Minimize;
//end;
//procedure TForm1.ButtonCloseClick(Sender: TObject);
//begin
// close;
//end;
procedure TForm1.ButtonMailMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
ButtonMail.Picture:=ImageMail2.Picture;
ButtonTool.Picture:=ImageTool1.Picture;
end;
procedure TForm1.ButtonToolMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
ButtonMail.Picture:=ImageMail1.Picture;
ButtonTool.Picture:=ImageTool2.Picture;
end;
procedure TForm1.PanelMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
ButtonMail.Picture:=ImageMail1.Picture;
ButtonTool.Picture:=ImageTool1.Picture;
end;
procedure TForm1.SkinForm1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
ButtonMail.Picture:=ImageMail1.Picture;
ButtonTool.Picture:=ImageTool1.Picture;
end;
procedure TForm1.ButtonMailMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ButtonMail.Picture:=ImageMail3.Picture;
end;
procedure TForm1.ButtonToolMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ButtonTool.Picture:=ImageTool3.Picture;
end;
procedure TForm1.ButtonMailClick(Sender: TObject);
begin
if ButtonTool.Align <> alBottom then
begin
myhint.Caption:='';
//图标改变
ButtonTool.Align:=alBottom;
SpeedButtonMail.Caption:='登陆邮箱';
SpeedButtonForum.Caption:='登陆社区';
SpeedButtonSearch.Caption:='搜索资源';
SpeedButtonMail.Glyph:=image1.Picture.Bitmap;
SpeedButtonForum.Glyph:=Image2.Picture.Bitmap;
SpeedButtonSearch.Glyph:=Image3.Picture.Bitmap;
//面板布局改变
SpeedButtonMail.Down:=True;
image_Right.Picture:=image_Right1.Picture;
WebBrowser1.Show;
//if 打开网页不是 /html/mail.html then
WebBrowser1.Navigate('file://'+ExtractFilePath(ParamStr(0))+'res\mail.htm');
DropShellListView1.Visible:=False;
PanelFav.Visible:=False;
rl_rj_fp.Visible:=False;
end;
end;
procedure TForm1.ButtonToolClick(Sender: TObject);
begin
if ButtonTool.Align <> alTop then
begin
ButtonTool.Align:=alTop;
SpeedButtonMail.Caption:='精品收藏';
SpeedButtonForum.Caption:='日历日记';
SpeedButtonSearch.Caption:='便捷工具';
SpeedButtonMail.Glyph:=image4.Picture.Bitmap;
SpeedButtonForum.Glyph:=Image5.Picture.Bitmap;
SpeedButtonSearch.Glyph:=Image6.Picture.Bitmap;
image_Right.Picture:=image_Right2.Picture;
myhint.Caption:='右键进行操作,收藏你喜欢的网址。';
SpeedButtonMail.Down:=True;
WebBrowser1.Hide;
PanelFav.Visible:=True;
//初次面板位置预置
PanelFav.Left:=image_Right.Left;
PanelFav.Top:=image_Right.Top+image_Right.Height;
PanelFav.ClientHeight:=283;
PanelFav.ClientWidth:=365;
rl_rj_fp.Left:=image_right.Left;
rl_rj_fp.Top:=image_right.Top+image_right.Height;
rl_rj_fp.ClientHeight:=283;
rl_rj_fp.ClientWidth:=365;
DropShellListView1.Left:=image_Right.Left;
DropShellListView1.Top:=PanelFav.Top;
DropShellListView1.ClientHeight:=280;
DropShellListView1.ClientWidth:=362;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//禁止程序再次运行
if GlobalFindAtom('secretary')=0 then
begin
Atom:=GlobalAddAtom('secretary');
end
else
begin
showmessage('程序已经运行!');
//Halt;
end;
//////////////////////////////////////////////
setWindowLong(application.handle,GWL_ExStyle,WS_EX_ToolWindow);
NT.cbSize:=sizeof(NT);//nid变量的字节数
NT.Wnd:=Handle; //主窗口句柄
NT.uID:=0; //内部标识,可设为任意数
NT.uFlags:=NIF_Message or NIF_Icon or NIF_Tip;
NT.uCallbackMessage:=My_Message;
NT.hIcon:=icon.Handle;//要加入的图标句柄,可任意指定
NT.szTip:='网络之旅与您同行!-网络小秘书。'#0;//提示字符串
NT.hIcon:=application.Icon.Handle;
Shell_NotifyIcon(Nim_Add,@NT);
//////////////////////////////////////////////
//收藏夹预设
Tab_Tp.Tabs.Clear;
QueryTp.Active:=true;
QueryNet.Active:=true;
Initialize(Tab_Tp,QueryTp);
SpeedButtonMail.Click;
//便捷工具预设
Dropshelllistview1.AutoRefresh :=true; //———————————自动刷新
Dropshelllistview1.AppPath :=application.ExeName ; //—————保存快捷方式的路径
Dropshelllistview1.DropEnabled :=true; //———————————可接受拖放的文件
Dropshelllistview1.AutoContextMenus :=false; //————————屏蔽右键的系统弹出菜单
end;
procedure TForm1.SpeedButtonMailClick(Sender: TObject);
begin
if SpeedButtonMail.Caption='登陆邮箱' then
begin
myhint.Caption:='';
rl_rj_fp.Visible:=false;
PanelFav.Visible:=False;
WebBrowser1.Show;
WebBrowser1.Navigate('file://'+ExtractFilePath(ParamStr(0))+'res\mail.htm');
end
else
begin
myhint.Caption:='右键进行操作,收藏你喜欢的网址。';
rl_rj_fp.Visible:=false;
WebBrowser1.Hide;
DropShellListView1.Visible:=false;
PanelFav.Visible:=True;
end;
end;
procedure TForm1.SpeedButtonForumClick(Sender: TObject);
begin
if SpeedButtonForum.Caption='登陆社区' then
begin
myhint.Caption:='';
rl_rj_fp.Visible:=False;
PanelFav.Visible:=False;
WebBrowser1.Show;
WebBrowser1.Navigate('file://'+ExtractFilePath(ParamStr(0))+'res\forum.htm');
end
else
begin
myhint.Caption:='双击日期,添加当天日记。';
rl_rj_fp.Visible:=true;
WebBrowser1.Hide;
DropShellListView1.Visible:=false;
PanelFav.Visible:=false;
end;
end;
procedure TForm1.SpeedButtonSearchClick(Sender: TObject);
begin
if SpeedButtonSearch.Caption='搜索资源' then
begin
myhint.Caption:='';
rl_rj_fp.Visible:=false;
PanelFav.Visible:=False;
DropShellListView1.Visible:=false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -