Kysymykset:
1. Miten saan tehtyä ns. värityökalun, joka toimii sellasteen että kun valitset sen jostain esim valikkorivistä niin kursori vaihtuu tietyksi ikoniksi ja textboxiin tulee sen värin väri koodi minkä päällä hiiri on ja kun klikkaa hiirellä vaikka vasemman puoleisella nappulalla niin siinä textboxissa ei enää vaihdu se värikoodi ja se mikä siinä oli viimeisenä jää siihen?
2. Miten saan että hiiri liikkuu smoothisti, ku laitat että se liikkuu vaikka kohtaan 345,234? Eli se ei liiku siihen niinku "TÖNKS!" vaan niinku sä liikuttaisit.
3. Miten saan että hiiri liikkuu siitä kohdasta missä se nyt on vaikka 50 pixelii alaspäin? En tarkoita että se liikkuisi tiettyyn kohtaan vaan siitä missä se nyt on niin 50 pixelii alaspäin?
4. Pystyykö VB:llä tehdä niin että jos se esim. näkee jonkun saman tekstin minkä oon valinnu tai jonkun saman kuvan mikä on formissa niin jos näkee toisen samanlaisen se tekee jotain?
5. Miten saan että ohjelma kirjottaisi itekseen jotain?
Tarkotan että ohjelma kirjottaa jotain tekstiä mitä oon kirjottanu textboxiin... eli jos siinä lukee vaikka "jee" niin se ohjelma alkaa kirjottaa sitä vaikka sekunnin kun välein ensin painan command_buttonia jos timerin intervalli on 1000. eli jos mulla olis vaikka WordPad päällä niin se ohjelma kirjottelis siihen sekunnin välein "jee".
(Vähän huonosti selitetty, mut yrittäkää ymmärtää)
Vastatkaa, please.
1. Käytä lippua (Boolean), joka ilmaisee ollaanko valitsemassa väriä. Kun värinotto aloitetaan, lippu saa arvon True. Hiiren liikkumismetodissa (MouseMove/tms) sitten laitat sen värinvaihtumisen tapahtumaan mutta vain jos lippu on päällä. Sitten kun klikataan vasemmalla napilla, laitetaan lippu off-asentoon (False). Tällöin, koska värinvaihtuminen tapahtuu vain jos lippu on päällä, väri ei enää vaihdu (ellei klikata uudelleen sitä aloitusnappia).
2. Liikuta hiirtä pikseli kerrallaan nykyisestä asemasta. Liikkeen saa smoothiksi laskemalla, montako pikseliä pitää kerrallaan liikauttaa mihinkäkin suuntaan.
3. Kuten 2, mutta muutetaan vain y-arvoa.
4. Kuvan kanssa melko hankalaa, tekstin ei niinkään. Millä tavalla ohjelma 'näkee'?
5. Tutustu funktioon SendMessage (esim. kirjoittamalla se tuonne hakulaatikkoon), sillä voit lähettää komentoja toiselle ohjelmalle (hiiren klikkauksia yms).
Kulmis kirjoitti:
2. Miten saan että hiiri liikkuu smoothisti, ku laitat että se liikkuu vaikka kohtaan 345,234? Eli se ei liiku siihen niinku "TÖNKS!" vaan niinku sä liikuttaisit.
Teknisesti samalla tavalla, kuin tuo tönksittelykin, mutta tönksittelet sitä vähän matkaa kerrallaan, että se näyttää oikealta liikkeeltä.
Tuo, miten paljon sitä pitää liikuttaa mihinkin suuntaan on ihan matematiikkaa, jos suorakulmaisen kolmion ratkaiseminen on tuttua, niin voit ajatella, että hypotenuusa on se se matka, jonka hiiri liikkuu ja kateeteista saa selville, paljonko sitä pitää x:ää ja y:tä liikuttaa.
Kulmis kirjoitti:
3. Miten saan että hiiri liikkuu siitä kohdasta missä se nyt on vaikka 50 pixelii alaspäin? En tarkoita että se liikkuisi tiettyyn kohtaan vaan siitä missä se nyt on niin 50 pixelii alaspäin?
GetCursorPos:lla saat hiiren nykyisen sijainnin. Lisää siihen Y-suuntaan 50 pikseliä.
Kulmis kirjoitti:
4. Pystyykö VB:llä tehdä niin että jos se esim. näkee jonkun saman tekstin minkä oon valinnu tai jonkun saman kuvan mikä on formissa niin jos näkee toisen samanlaisen se tekee jotain?
Nyt ei ymmärrä. Kerro vähän selkeämmin.
Kulmis kirjoitti:
5. Miten saan että ohjelma kirjottaisi itekseen jotain?
SendKeys-funktiolla.
Hän tarkoittaa varmaan, että jos esimerkiksi Irc:ssä, joku sanoo "Hei!", tai vastaavaa. Niin VB jollakin tapaa tunnistaisi tekstin/kuvan identtiseksi ja suorittaisi jonkin komennon.
Pliis, jotain pienii esimerkkejä.. =)
1. Kun panet koodin MouseMove-tapahtumaan, saat suoraan selville hiiren x- ja y-koordinaatin. Tietyn pisteen värin pystyt lukemaan Point-funktiolla (jos kuva on PictureBoxissa, esim. Picture1.Point(X, Y)).
2. X:ää ja y:tä pitää liikuttaa pikku hiljaa suhteessa vaaka- ja pystysuuntaiseen matkaan. Jos alkukohta on (10, 10) ja loppukohta (30, 50) ja animaation vaiheita on kymmenen, liikutusaskel vaaka-akselilla on siis (30 - 10) / 10 = 2 ja pystyakselilla (50 - 10) / 10 = 4. Näin hiirtä siirretään ensin kohtaan (10 + 2 = 12, 10 + 4 = 14), sitten kohtaan (12 + 2 = 14, 14 + 4 = 18) jne., kunnes lopulta ollaan perillä kohdassa (30, 50). Animaation voi toteuttaa For-silmukalla, joka laskee yhtä pitkälle kuin animaatiossa on vaiheita ja johon liittyy sopiva hidastus.
4. Kerro tosiaan tarkemmin, mitä haluat tehdä!
Esimerkkejä on valmiina Ohjelmointiputkassa, ja löydät ne sopivilla hakusanoilla (esim. Point, SetCursorPos, SendKeys jne.) Jos tarvitset apua johonkin yksittäiseen kohtaan, kysy tarkemmin.
Dareon kirjoitti:
Hän tarkoittaa varmaan, että jos esimerkiksi Irc:ssä, joku sanoo "Hei!", tai vastaavaa. Niin VB jollakin tapaa tunnistaisi tekstin/kuvan identtiseksi ja suorittaisi jonkin komennon.
Just noin!
Muttei kyl missään Irc:ssä. =P
Otat screenshotin ja teet algoritmin, joka vertailee. Eli toisin sanoen, todennäköisesti et voi, koska fontteja, värejä ja fonttikokoja on monia, ja niillä voi olla taustakuvia. Mitään valmista funktiota tuota varten ei ole.
Miten saan että toi SendKeys painaa Enter nappulaa?
SendKeys "{ENTER}"
Mitä vikaa tässä on:
SendKeys "Text1.Text", True
Sen pitäis kirjottaa sitä mitä textboxissa lukee, mut se kirjottaa vaan Text1.Text. Miks?
Jospa jättäisit nuo " merkit pois tuosta. Koska tuolloin noiden hipsujen sisällä oleva teksti kirjoitetaan eikä se toimi muuttujana.
Kiitti!
Miten saan että kun ohjelman käyttäjä painaa ctrl + s niin tapahtuu jotain?
Apilla GetASyncState.
Putkan haku tietää lisää.
Ei löytyny hausta muutaku tää topicci. =(
Mut mä testaan Googlesta!
Et löytyiskö...
No se siksi, että Juice typotti tuon nimen. Oikea funktio on GetAsyncKeyState.
Hmh. En näköjään osaa kirjoittaakaan enää :P
Tietääkä kukaan tohon ekaan vastausta?
Ja miten saan että hiiri liikkuu tietyn värin kohdalle?
(Hups taas 2 viestii peräkkäin. =( )
Mod. Huom: No sittenhän viestit voi poistaa muokkaustoiminnolla. ;)
Poistin nyt tuon toisen niistä.
Kulmis kirjoitti:
Tietääkä kukaan tohon ekaan vastausta?
Ja miten saan että hiiri liikkuu tietyn värin kohdalle?(Hups taas 2 viestii peräkkäin. =( )
Mod kirjoitti:
Huom: No sittenhän viestit voi poistaa muokkaustoiminnolla. ;)
Poistin nyt tuon toisen niistä.
Aijaa, ok!
NO niin. Varmasti joku tietää! :F
Dareon kirjoitti:
Hän tarkoittaa varmaan, että jos esimerkiksi Irc:ssä, joku sanoo "Hei!", tai vastaavaa. Niin VB jollakin tapaa tunnistaisi tekstin/kuvan identtiseksi ja suorittaisi jonkin komennon.
Miten toi tehdään?
Mulla on tietty fontti ja väri..
Aihe on jo aika vanha, joten et voi enää vastata siihen.