📄 unit1.pas
字号:
WebBrowser1.Show;
WebBrowser1.Navigate('file://'+ExtractFilePath(ParamStr(0))+'res\serch_web.htm');
end
else
begin
myhint.Caption:='鼠标拖入常用的文件,以便进行方便的操作。';
rl_rj_fp.Visible:=false;
WebBrowser1.Hide;
DropShellListView1.Visible:=true;
PanelFav.Visible:=False;
end;
end;
procedure TForm1.ListView1DblClick(Sender: TObject);
begin
ViewNet(ListView1.Selected.Caption);
end;
procedure TForm1.Tab_TpTabChanged(Sender: TObject);
begin
QueryNet.Close;
QueryNet.SQL.Text:='select * from net where 类型='''+Tab_Tp.Tabs[Tab_tp.tabIndex]+'''';
QueryNet.Open;
AddNetName(ListView1,QueryNet);
end;
procedure TForm1.Tab_TpDragDrop(Sender, Source: TObject; X, Y: Integer);
var
DroPRect:Trect;
i:integer;
TbSet:TTabControl;
begin
for i:=0 to Tab_Tp.Tabs.Count-1 do
begin
DroPRect:=Tab_Tp.TabRect(i); // 搜索 每个Tab的区域
if (x<DroPRect.Right) and (x>DroPRect.Left) then //判断鼠标区域
begin
TbSet:=TTabControl(source);
TbSet.Tabs.Exchange(i,Tab_Tp.TabIndex);
Tab_Tp.TabIndex:=i;
TbSet.Refresh;
exit; //立即退出,否则会导致错误.
end;
end;
end;
procedure TForm1.Tab_TpChange(Sender: TObject);
begin
QueryNet.Close;
QueryNet.SQL.Text:='select * from net where 类型='''+Tab_Tp.Tabs[Tab_tp.tabIndex]+'''';
QueryNet.Open;
AddNetName(ListView1,QueryNet);
end;
procedure TForm1.Tab_TpDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=(source is TTabControl);
end;
procedure TForm1.Tab_TpMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if(ssleft in Shift) then
Tab_Tp.BeginDrag(false);
end;
procedure TForm1.N_ViewNetClick(Sender: TObject);
begin
ViewNet(ListView1.Selected.Caption); //
end;
procedure TForm1.N_AddAdrClick(Sender: TObject);
var
Form2:TForm2; //
begin
if Tab_Tp.Tabs.Count<=0 then
begin
N_AddTp.Click;
exit;
end;
Form2:=TForm2.Create(self);
try
Form2.Caption:='添加网址';
Form2.ShowModal;
if Form2.ModalResult=mrok then
begin
QueryNet.Filter:='网名='''+Form2.Edit1.Text+'''';
QueryNet.Filtered:=true; //这里判断是否有重复
if QueryNet.RecordCount>0 then
begin
QueryNet.Filtered:=false;
Showmessage('该网名已经存在');
exit;
end;
QueryNet.InsertRecord([trim(Form2.Edit1.Text),trim(Form2.Edit2.Text),Tab_Tp.Tabs[Tab_Tp.TabIndex]]);
ListView1.AddItem(Form2.Edit1.Text,ListView1);
end;
finally
Form2.Free;
QueryNet.Filtered:=false;
end;
end;
/////////////////////////////////////////////////////////////
///////////////////菜单事件//////////////////////////////////
/////////////////////////////////////////////////////////////
procedure TForm1.PM_NetPopup(Sender: TObject);
begin
if ListView1.Selected=nil then
begin
N_ViewNet.Enabled:=false;
N_ChangeCon.Enabled:=false;
N_DeleteAdr.Enabled:=false;
end
else
begin
N_ViewNet.Enabled:=true;
N_ChangeCon.Enabled:=true;
N_DeleteAdr.Enabled:=true;
end;
end;
procedure TForm1.N_ChangeConClick(Sender: TObject);
var
Form:TForm2;
begin
if ListView1.Selected=nil then exit; //
Form:=TForm2.Create(self);
Form.Caption:='修改';
Form.Hint:='修改';
try
Form.ShowModal;
if Form.ModalResult=mrok then
begin
QueryNet.Locate('网名',Form1.ListView1.Selected.Caption,[loCaseInsensitive]);
QueryNet.Edit;
QueryNet.FieldByName('网名').Text:=Form.Edit1.Text;
QueryNet.FieldByName('网址').Text:=Form.Edit2.Text;
QueryNet.Post;
ListView1.Selected.Caption:=Form.Edit1.Text;
end;
finally
Form.Free;
end;
end;
procedure TForm1.N_DeleteAdrClick(Sender: TObject);
begin
if ListView1.Selected=nil then exit;
QueryNet.Filter:='网名='''+ListView1.Selected.Caption+'''';
QueryNet.Filtered:=True;
QueryNet.Delete;
QueryNet.Refresh;
QueryNet.Filtered:=false;
ListView1.DeleteSelected;
QueryNet.Open;
end;
/////////////////////////////////////////////////////////////
///////菜单事件/////
/////////////////////////////////////////////////////////////
procedure TForm1.PM_TpPopup(Sender: TObject);
begin ///
if Tab_Tp.TabIndex<0 then
begin
N_ChangeTp.Enabled:=false;
N_DeleteTp.Enabled:=false;
end
else
begin
N_ChangeTp.Enabled:=true;
N_DeleteTp.Enabled:=true;
end;
end;
procedure TForm1.N_AddTpClick(Sender: TObject);
var
Tp:string;
i:integer;
begin ///
if (not InputQuery('添加类别','请输入类别名',Tp))or(Tp='') then exit;
i:=Tab_Tp.Tabs.IndexOf(Tp);
if i>=0 then
begin
showmessage('该标签已经存在!');
exit;
end;
QueryTp.Append;
QueryTp.FieldByName('类型').Text:=Tp;
QueryTp.Refresh;
Tab_Tp.Tabs.Add(Tp);
end;
procedure TForm1.N_ChangeTpClick(Sender: TObject);
var
NewTp:string;
i:integer;
begin ///
if (not InputQuery('修改标签','标签名',NewTp))or(NewTp='')then exit;
for i:=0 to Tab_Tp.Tabs.Count-1 do
if Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]=NewTp then
begin
showmessage('该类型已经存在!');
exit;
end;
Querytp.SQL.Text:='select 类型 from tp where 类型='''+Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]+'''';
Querytp.Open;
if Querytp.RecordCount<=0 then exit;
Querytp.Edit;
Querytp.FieldByName('类型').Text:=NewTp;
Querytp.Refresh;
Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]:=NewTp;
Querytp.SQL.Text:='select 类型 from tp';
Querytp.Open;
end;
procedure TForm1.N_DeleteTpClick(Sender: TObject);
begin ///
if Tab_Tp.TabIndex<0 then exit;
if messagebox(handle,'如果该标签被删除,则所有该类别的网址也将会被删除!','警告!',MB_YesNo+MB_IconWarning+MB_DefButton2)=IDNo then exit;
Querytp.Filter:='类型='''+Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]+'''';
Querytp.Filtered:=true;
if QueryTp.RecordCount>0 then
Querytp.Delete;
Querytp.Filtered:=false;
ListView1.Clear;
Tab_Tp.Tabs.Delete(Tab_Tp.TabIndex);
end;
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
procedure TForm1.FormDestroy(Sender: TObject);
var
i:integer;
begin
for i:=0 to Tab_tp.Tabs.Count-1 do
begin
if not QueryTp.Locate('类型',Tab_tp.Tabs[i],[]) then continue;
QueryTp.Edit;
QueryTp.FieldByName('编号').AsInteger:=i;
QueryTp.Refresh;
end;
//从全局原子表中删除
GlobalDeleteAtom(Atom);
shell_NotifyIcon(NIM_Delete,@NT);//消除托盘上的图标
end;
procedure TForm1.N4Click(Sender: TObject);
begin
DropShellListView1.SelectedFolder.ExecuteDefault ;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
if opendialog1.Execute then
DropShellListView1.GetNewItem(opendialog1.FileName);
end;
procedure TForm1.N8Click(Sender: TObject);
var
realpath:string;
begin
realpath:=Dropshelllistview1.selectedfolder.PathName;
deletefile(pchar(realpath));
end;
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
const
KeyPressMask = $80000000;
var
Doc:IHTMLDocument2;
input:OleVariant;
begin
if IsChild(WebBrowser1.Handle, Msg.Hwnd) and (Msg.Message = WM_KEYDOWN) and (Msg.wParam=13) then
begin
doc:=webbrowser1.document as ihtmldocument2;
input:=doc.all.item('imageField',0);
input.click;
end;
if (Msg.message = WM_KEYDOWN) and ((Msg.lParam and KeyPressMask) = 0) and (GetKeyState(VK_CONTROL) < 0) and (Msg.wParam = Ord('N')) then
begin
//Disable Ctrl+N
Handled := True;
end;
if (Msg.message = WM_KEYDOWN) and ((Msg.lParam and KeyPressMask) = 0) and (GetKeyState(VK_CONTROL) < 0) and (Msg.wParam = Ord('P')) then
begin
//Disable Ctrl+P
Handled := True;
end;
if (Msg.message = WM_KEYDOWN) and ((Msg.lParam and KeyPressMask) = 0) and (GetKeyState(VK_CONTROL) < 0) and (Msg.wParam = Ord('F')) then
begin
//Disable Ctrl+F
Handled := True;
end;
end;
procedure TForm1.N12Click(Sender: TObject);
begin
DropShellListView1.ViewStyle:=vsIcon;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
DropShellListView1.ViewStyle:=vsSmallIcon;
end;
procedure TForm1.N13Click(Sender: TObject);
begin
DropShellListView1.ViewStyle:=vsList;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
DropShellListView1.ViewStyle:=vsReport;
end;
procedure TForm1.N20Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsIcon;
end;
procedure TForm1.N21Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsSmallIcon;
end;
procedure TForm1.N22Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsList;
end;
procedure TForm1.N23Click(Sender: TObject);
begin
ListView1.ViewStyle:=vsReport;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
form3.Parent:=form1.rl_rj_fp;
form3.Show;
check_ago; //调用对过去事件检查函数
datetime_back:=get_ts_datetime;
form3.rl_tm_sound.Enabled:=true;//启动时钟,开始计时
end;
procedure TForm1.Label3Click(Sender: TObject);
begin
shellabout(form1.handle,'网络小秘书','制作:南阳理工学院今网软件小组'+#13+'邮箱:hds129@163.com'+#13+'QQ:276659571', Application.Icon.handle);
end;
procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
label1.Font.style:=[Fsunderline];
label1.Font.Color:=clBlue;
end;
procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
label1.Font.style:=[];
label1.Font.Color:=Clwhite;
end;
procedure TForm1.Label2MouseEnter(Sender: TObject);
begin
label2.Font.style:=[Fsunderline];
label2.Font.Color:=clBlue;
end;
procedure TForm1.Label2MouseLeave(Sender: TObject);
begin
label2.Font.style:=[];
label2.Font.Color:=Clwhite;
end;
procedure TForm1.Label3MouseEnter(Sender: TObject);
begin
label3.Font.style:=[Fsunderline];
label3.Font.Color:=clBlue;
end;
procedure TForm1.Label3MouseLeave(Sender: TObject);
begin
label3.Font.style:=[];
label3.Font.Color:=Clwhite;
end;
procedure TForm1.Label1Click(Sender: TObject);
var
str:string;
begin
str:='http://todaynet.nyist.net';
ShellExecute(Application.MainForm.Handle,'open',PChar(str),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.Label2Click(Sender: TObject);
var
str:string;
begin
str:='file://'+ExtractFilePath(ParamStr(0))+'help\help.html';
ShellExecute(Application.MainForm.Handle,'open',PChar(str),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.N17Click(Sender: TObject);
begin
if self.Title_PopMenu.Items.Find('最小化')<>nil then
begin
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;
self.Hide;
// Shell_NotifyIcon(Nim_Add,@NT);
self.Title_PopMenu.Items.Find('最小化').Caption:='还原';
end
else
begin
setWindowLong(application.handle,GWL_ExStyle,WS_EX_ToolWindow);
// shell_NotifyIcon(NIM_Delete,@NT);
ShowWindow(application.Handle,sw_show);
application.Restore;
self.Show;
self.Title_PopMenu.Items.Find('还原').Caption:='最小化';
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.N11Click(Sender: TObject);
begin
DropShellListview1.selected.editcaption;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -