Heippa.
Pyytäisin vähän neuvoa ensimmäiseen VB projektiini.
tässä linkki http://lauri.sirkusfiasko.com/ohjelmointi/
Yritän siis tehdä slideshow ohjelmaa, ja nyt on tullut muutama kysymys eteeni.
-Miten saan pictureboxin aukeamaan kokoruuduksi? Siis aivan kuin windowsin oma diashow tekee.
-Ja miten sitten saan näppäimistöllä ohjattua ohjelmaa?
-Saanko jotenkin kansiolistan käyttämään isompia kuvakkeita? Ohjelma tulee siis paapalle ja kaikkien näppäinten täytyy olla ISOJA.
-Ja vielä tuosta kansiolistauksesta. Kun valitsee jonkun kansion siis en tuplaklikkaa vain pelkästään klikkaan kerran että kansio muuttuu siniseksi, niin miten saan siitä kansiosta ja sen alikansioista haettua kaikki kuvat? (vanhukset ei tykkää tuplaklikkailuista)
-nyt ohjelma näyttää mikä kuva slideshowssa on menossa. Mutta kun käyttää seuraava ja edellinen nappeja niin kuvan numero ei toimikkaan. Mikä mahtaa olla vikana?
-Ja vielä sitten pyytäisin ihan yleisiä neuvoja koskien ohjelmaa ja mun koodausta.
Alotin projektin ensimmäisenä päivänä kun VB:n opiskelun niin koodi taitaa olla aika surkeeta ja sekavaa.
Olisi mukava jos joku antaisi vähän vinkkejä ja neuvoja, että jatkossa kehittyisin oikeaan suuntaan.
jideko kirjoitti:
-Miten saan pictureboxin aukeamaan kokoruuduksi? Siis aivan kuin windowsin oma diashow tekee.
Laita se formille, suurenna formi koko näytön kokoseks (näytön dimensiot saat Screen-oliolta) ja pictureboxi formin kokoseks.
jideko kirjoitti:
-Ja miten sitten saan näppäimistöllä ohjattua ohjelmaa?
Laita formin KeyPreview trueksi.
Tässä vastauksia joihinkin kysymyksiisi:
jideko kirjoitti:
Miten saan pictureboxin aukeamaan kokoruuduksi?
Muuta formin BorderStyle arvoon 0 ja WindowState arvoon 2. Silloin ikkuna täyttää koko ruudun. Tällä koodilla saat PictureBoxin koko ikkunan kokoiseksi:
Picture1.Move 0, 0, Width, Height
Ohjelma keskeytyy VB:ssä painamalla Control+Break, jos et ole muistanut lisätä siihen lopetusmahdollisuutta.
jideko kirjoitti:
Ja miten sitten saan näppäimistöllä ohjattua ohjelmaa?
Muuta ensin formin ominaisuus KeyPreview arvoon True. Tämän jälkeen kaikki näppäilyt ohjautuvat Form_KeyDown-aliohjelmaan. Esim. tällä koodilla ohjelma sammuu, kun käyttäjä painaa Esc-nappia.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyEscape Then End End If End Sub
Täydellinen luettelo näppäinkoodeista on osoitteessa:
https://www.ohjelmointiputka.net/oppaat/opas.
jideko kirjoitti:
Saanko jotenkin kansiolistan käyttämään isompia kuvakkeita?
Kyllä, vaihtamalla fonttia suuremmaksi.
jideko kirjoitti:
- -, niin miten saan siitä kansiosta ja sen alikansioista haettua kaikki kuvat?
Tiedostojen hakeminen alihakemistoista tapahtuu tähän tyyliin:
https://www.ohjelmointiputka.net/koodivinkit/
jideko kirjoitti:
Mutta kun käyttää seuraava ja edellinen nappeja niin kuvan numero ei toimikkaan. Mikä mahtaa olla vikana?
Tätä on mahdotonta tietää näkemättä ohjelman koodia.
Jooh, nyttenhän tuo jo vaikuttaa melkein ohjelmalta.
Yritän vaihtaa tuota borderstyleä commandbuttonia painamalla 0:ksi, mutta se ei toimi. Eli nytten yläreunaan jää tuo palkki ja menut. Mikä auttaisi?
Ja nyt kun ohjelmaa pystyy komentelemaan näppäimillä, niin haluaisin selata kuvia nuolilla mutta kun oikea ja vasen nuoli liikuttaa myös tuota mun scrollbaria. Miten saan että näppäimet ei vaikuta tuohon scrollbariin?
Ja en ole vieläkään keksinyt ratkaisua tuohon edellinen ja seuraava nappien ongelmaan. nehän siis laittavat laskurin sekaisin joka siis näyttää monesko kuva kansiossa menossa.
Private Sub cmdEdellinen_Click() If (x - 1) < File1.ListCount And (x - 1) >= 0 Then Kuva (Dir1.Path & "\" & File1.List(x - 1)), File1.List(x - 1) x = x - 1 Else MsgBox "kuvat loppuivat" End If End Sub Private Sub cmdSeuraava_Click() If (x + 1) < File1.ListCount And (x + 1) >= 0 Then Kuva (Dir1.Path & "\" & File1.List(x + 1)), File1.List(x + 1) x = x + 1 Else MsgBox "kuvat loppuivat" End If End Sub
x+1 on siis tuon meneillä olevan kuvan nro. timeri lisää siihen joka kerralla 1.
päivitin tuon linkin. Siinä on mukana exe ja kaikki koodit jos joku haluaa tutustua.
Aihe on jo aika vanha, joten et voi enää vastata siihen.