11. oktober 2002 - 21:32Der er
21 kommentarer og 1 løsning
Flere kanpper på et billede
Hej
Jeg har et baggrunds billede hvor jeg har tegnet nogle knapper på. Så vil jeg gerne have sådan at når jeg trykker på de knapper så sker der noget. Normatl der dobbelt klikker man bare på billedet men det er jo små dele af billedet jeg vil have inddelt. Håber i forstår.
Jeg har fundet ud af at det er fordi jeg bruger en funktion så at jeg kan flytte formen selvom brders er slået fra. Den virker næmlig når jeg sletter den funktion. Så nu skal jeg bare have det til at virke sammen. Koden jeg bruger ser sådan ud:
implementation type TMusikFil = class(TObject) Filename: string; Filelocation: string; end; {$R *.dfm} Procedure TForm1.PlaySelected; //****** var mp3: TMusikFil; begin Progress.Max:=0; if mp3list.ItemIndex = -1 then exit; mp3 := Pointer(mp3list.Items.Objects[mp3list.ItemIndex]); try MediaPlayer1.stop; except end; MediaPlayer1.Filename := mp3.Filelocation; MediaPlayer1.DeviceType := dtAutoSelect; MediaPlayer1.Open; MediaPlayer1.Play; Progress.Max := MediaPlayer1.Length; end;
procedure TForm1.lukClick(Sender: TObject); begin Close; end;
procedure TForm1.openClick(Sender: TObject); var mp3: TMusikFil; begin if opendialog1.execute then begin mp3 := TMusikFil.create; mp3.filename := extractfilename(opendialog1.filename); mp3.Filelocation :=opendialog1.filename; mp3list.Items.AddObject(MP3.Filename, MP3) end; end;
procedure TForm1.playClick(Sender: TObject); begin PlaySelected; end;
procedure TForm1.Label4Click(Sender: TObject); begin MediaPlayer1.stop; end;
procedure TForm1.Label5Click(Sender: TObject); begin MediaPlayer1.pause; end;
procedure TForm1.tilbageClick(Sender: TObject); begin if mp3list.ItemIndex = 0 then exit; mp3list.ItemIndex := mp3list.ItemIndex-1; PlaySelected; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin if Progress.Max<>0 then Progress.Position := MediaPlayer1.Position; end;
procedure TForm1.fremClick(Sender: TObject); begin if mp3list.ItemIndex = mp3list.items.count then exit; mp3list.ItemIndex := mp3list.ItemIndex+1; PlaySelected; end;
procedure TForm1.mp3listDblClick(Sender: TObject); begin PlaySelected; end;
procedure TForm1.FormCreate(Sender: TObject); var ini:tinifile; st:tstringlist; i:integer; mp3: TMusikFil; begin main.Picture.LoadFromFile('skins\main.bmp'); ini := Tinifile.create(extractfilepath(application.exename)+'settings.ini'); st:=tstringlist.Create; ini.ReadSectionValues('LIST', st); for i := 0 to st.count-1 do begin mp3 := TMusikFil.create; mp3.filename := extractfilename(st[I]); mp3.Filelocation :=st[I]; mp3list.Items.AddObject(MP3.Filename, MP3); end; end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var ini : TInifile; i:integer; mp3: TMusikFil; begin ini := Tinifile.create(extractfilepath(application.exename)+'settings.ini');
For i := 0 to mp3list.items.count-1 do begin mp3 := Pointer(mp3list.Items.Objects[I]); ini.writestring('LIST', inttostr(I), mp3.Filelocation); end; ini.free; end;
procedure TForm1.TBItem1Click(Sender: TObject); begin Close; end;
det kan jeg ikke lige se hvorfor ikke skulle virke...
Du skal regne med at det er kun når man kliker på formen og kører med musen den flytter sig.
Prøv at sætte en shomessage ind på dens OnMOuseDown for at se hvornår du er på formen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.