Okay så har jeg lige fået lidt tid til overs
s¨ville lige fortælle lidt om det program jeg skulle have points'ne for. Programmet er en slags lille toolbar som kører hele tiden medmindre man slår det fra. Det kører skjult men man kan åbne det ved at trykke på ikonet i systray. Selve programmet er en lille menu ting hvor der er en lille media player(kan man jo altid bruge
), noget vækkeurs agtigt noget, der er links til en masse forskellige nyttige hjemmesider(bla udvikleren hehe), der er links til forskellige chat kanaler, en lommeregner(hehe) og der ligger også en lille password funktion i det så man kan låse sin puter hvis man går fra den.. Her er lidt af koden hvis i er nysgerrige men man kan ikke se så meget af den fordi den linker til nogen andre units og bruger mange "actions".
Har sat lidt kommentarer ind så man også kan lære lidt af det
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ActnList, ExtActns, MPlayer, Menus, Registry, ShellAPI, ExtCtrls;
const WM_TRAYMessage = WM_USER + 1; //bruges til systray
type
TForm1 = class(TForm)
ActionList1: TActionList; //actions
BrowseURL1: TBrowseURL;
Button1: TButton;
MediaPlayer1: TMediaPlayer; //mediaplayeren
Button2: TButton;
Label1: TLabel;
OpenDialog1: TOpenDialog;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
MainMenu1: TMainMenu;
Udv1: TMenuItem;
MiniMediaPlayer1: TMenuItem;
Chatpudvdk1: TMenuItem;
Files1: TMenuItem;
bn1: TMenuItem;
Afspil1: TMenuItem;
Stop1: TMenuItem;
Pause1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Button7: TButton;
Label2: TLabel;
BrowseURL2: TBrowseURL;
Udviklerendk1: TMenuItem;
Label3: TLabel;
Button8: TButton;
BrowseURL3: TBrowseURL; //en link funktion
BrowseURL4: TBrowseURL;
Button9: TButton;
Label4: TLabel;
Links1: TMenuItem;
N2: TMenuItem;
Googlecom1: TMenuItem;
ComOndk1: TMenuItem;
PopupMenu1: TPopupMenu; //Menuen der kommer når man
Vis1: TMenuItem; //højreklikker på ikonet i systray
Skjul1: TMenuItem;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure bn1Click(Sender: TObject);
procedure Afspil1Click(Sender: TObject);
procedure Stop1Click(Sender: TObject);
procedure Pause1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Vis1Click(Sender: TObject);
procedure Skjul1Click(Sender: TObject);
private
Tray: TNotifyIconData;
public
procedure TrayMessage(var message: TMessage); message WM_TRAYMESSAGE;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then //mediaplayer funktion
Mediaplayer1.Filename:= (OpenDialog1.FileName);
Mediaplayer1.Open;
Button2.Enabled:= true;
Afspil1.Enabled:= true;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Mediaplayer1.Play; //mediaplayer play funktion
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Mediaplayer1.Stop; //mediaplayer stop funktion
Mediaplayer1.Rewind;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Mediaplayer1.Pause; //mediaplayer pause funktion
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Application.Terminate; //exit knap
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Application.Terminate; //exit knap
end;
procedure TForm1.bn1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Mediaplayer1.Filename:= (OpenDialog1.FileName);
Mediaplayer1.Open;
Button2.Enabled:= true;
Afspil1.Enabled:= true; //mediaplyer funktion til at åbne filer
end;
procedure TForm1.Afspil1Click(Sender: TObject);
begin
Mediaplayer1.Play; //mediaplayer afspil funktion
end;
procedure TForm1.Stop1Click(Sender: TObject);
begin
Mediaplayer1.Stop;
Mediaplayer1.Rewind;
end;
procedure TForm1.Pause1Click(Sender: TObject);
begin
Mediaplayer1.Pause;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); //fjerner ikonet fra systray når man exit'er
begin
Shell_NotifyIcon(NIM_DELETE, @Tray);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE, @Tray);
end;
procedure TForm1.TrayMessage(var message: TMessage);
var
p: TPoint;
begin
//Laver popupmenuen i systray
case Message.LParam of
WM_RBUTTONDOWN:
begin
SetForegroundWindow(Handle);
GetCursorPos(P);
PopupMenu1.Popup(P.X, P.y);
PostMessage(Handle, WM_NULL, 0,0);
end;
end;
case Message.LParam of
WM_LBUTTONDOWN: //definerer hva der sker når man trykker på ikonet i systray
begin
SetForegroundWindow(Handle);
PostMessage(Handle, WM_NULL, 0,0);
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Registry: TRegistry; //registrerer programmet i reg
begin //nødvendigt hvis det skal være i systray
Registry:=TRegistry.Create;
Registry.RootKey:=HKEY_LOCAL_MACHINE;
If Registry.OpenKey('Software\\Microsoft\\Windows\\CurrentVersion\\RunServices',True) then
begin
Registry.WriteString('ClockWatch', (ParamStr(0)));
Registry.Free;
end;
with Tray do
begin
cbSize := SizeOf(Tray);
Wnd := Handle;
uID := 0;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
uCallbackMessage:= WM_TRAYMessage;
hIcon := Application.Icon.Handle;
szTip := 'Right click to see your options';
end;
Shell_NotifyIcon(NIM_ADD, @Tray);
end;
procedure TForm1.Vis1Click(Sender: TObject);
begin
Form1.Show; //viser formen hvis man trykker vis
end;
procedure TForm1.Skjul1Click(Sender: TObject);
begin
Form1.Hide; //skjuler formen hvis man trykker hide
end;
end.
Jaa det var så lige lidt af det hele... Hehe.. Håber det var nok ellers må du lige skrive eller noget
Mvh.
Rune Jensen
---------------------------------------------------------------------------
##The one who laugh last is the one who think slowest!##
---------------------------------------------------------------------------