Pomeranje dugmadi, VB?
Prikazujem rezultate 1 do 20 od 20

Tema: Pomeranje dugmadi, VB?

  1. #1
    Primećen član nidzesi (avatar)
    Učlanjen
    25.05.2003.
    Pol
    muški
    Lokacija
    Bujanovac
    Poruke
    910
    Reputaciona moć
    62

    Podrazumevano Pomeranje dugmadi, VB?

    Imam komandno dugme, i sad želim da kad korisnik predje misem preko njega, ono mrdne tj. pomeri se na drugu stranu!
    Može li mi neko to uraditi i poslati kao project, ili mi iskopirati kod?

    Takodje sam cuo da za to služi randomize funkcija... Može li je neko objasniti (nasao sam na hiljadu sajtova, ali ne razumem)?

    Hvala!
    Don't forget to keep yourself in a live,
    there is nothing more important than that



  2. #2
    Ističe se juznivetar (avatar)
    Učlanjen
    12.02.2005.
    Pol
    muški
    Lokacija
    -
    Poruke
    2.041
    Reputaciona moć
    67

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Necu ti direktno pomoci , jer neznam VB, al' recimo da pogledas funkcije tipa SetWindowPosition, koje ces koristiti za pomjeranje kontrole, a te random koristis za izbacivanje novih pozicija kontrole, koje ces predati funkciji SetWindowPosition.

  3. #3
    Zainteresovan član
    Učlanjen
    27.09.2003.
    Pol
    muški
    Lokacija
    Sydney
    Poruke
    388
    Reputaciona moć
    55

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Recimo u VB.NET-u moze ovako:
    Kod:
    Me.Button1.Location = New System.Drawing.Point(150, 100)
    150 = X
    100 = Y

    Sad verovatno da je nesto slicno i za VB

    Poz
    sale

  4. #4
    Iskusan codemaker (avatar)
    Učlanjen
    05.04.2004.
    Lokacija
    Beograd
    Poruke
    6.416
    Reputaciona moć
    0

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Ne radim u VB ali mislim da nije bas jednostavno.
    Pre svega, generalno vazi za Windows programiranje, jednom nacrtana kontrola je na necemu - windowsu ili dijalogu. Interna akcija "onpaint" to sve iscrta, pa i kontrole.
    Sad ako zelis da pomeris kontrolu, treba proveriti sta je sa postojecom "slikom" kontrole (dugmeta u tvom slucaju) i njegovog ponovnog iscrtavanja nakon "refresh" opcije za windows ili dijalog.
    Nikada mi to nije trebalo da uradim, a nemam vremena za eksperimentisanje ali misli da se tehnicki moze odraditi mada sa malo vise rada.
    Bojim se da nije dovoljno samo "properties" za X i Y da se promene, mada treba probati

  5. #5
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Pomeranje dugmadi, VB?

    ###
    Bojim se da nije dovoljno samo "properties" za X i Y da se promene, mada treba probati
    ##
    Bas samo to trebas da uradis.
    jednostavnije je mnogo od procedure u c++ u ....
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  6. #6
    Iskusan codemaker (avatar)
    Učlanjen
    05.04.2004.
    Lokacija
    Beograd
    Poruke
    6.416
    Reputaciona moć
    0

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Onda si resio problem?

  7. #7
    Primećen član nidzesi (avatar)
    Učlanjen
    25.05.2003.
    Pol
    muški
    Lokacija
    Bujanovac
    Poruke
    910
    Reputaciona moć
    62

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Sale, nije tako, jednostavno neće... izbacuje neku gresku...


    Probao sam da za proceduru Private Sub Button1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) primenim ovo: button1.top = X odnosno button1.left = Y, ali mi to pomera samo u opsegu od 1 do 256... Treba mi malo veći prozor...

    Ako gore promenim da je X tip podataka Integer (od -32768 do 32768) onda mi izbacuje gresku, da se ne slaže jedno s drugim...

    Treba mi randomize funkcija, ali nikako ne uspevam da je upotrebim...


    Što se tiče SetWindowPosition, takvo svojstvo u VB ne postoji...
    Don't forget to keep yourself in a live,
    there is nothing more important than that

  8. #8
    Primećen član nidzesi (avatar)
    Učlanjen
    25.05.2003.
    Pol
    muški
    Lokacija
    Bujanovac
    Poruke
    910
    Reputaciona moć
    62

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Citat Original postavio toxi
    ###
    Bojim se da nije dovoljno samo "properties" za X i Y da se promene, mada treba probati
    ##
    Bas samo to trebas da uradis.
    jednostavnije je mnogo od procedure u c++ u ....
    Šta da uradim?
    Kako da promenim Properties za X i Y?
    Može li neko detaljno da mi objasni?
    Don't forget to keep yourself in a live,
    there is nothing more important than that

  9. #9
    Ističe se
    Učlanjen
    01.07.2004.
    Pol
    muški
    Lokacija
    Nis
    Poruke
    2.774
    Reputaciona moć
    77

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Ne znam za VB, ali u Delphiju je mnogo prosto:

    Button1.Left:= 10;
    Button1.Top:=30; i to je to.
    Čiste ruke
    Hladna glava
    I vatreno srce

  10. #10
    Iskusan codemaker (avatar)
    Učlanjen
    05.04.2004.
    Lokacija
    Beograd
    Poruke
    6.416
    Reputaciona moć
    0

    Podrazumevano Re: Pomeranje dugmadi, VB?

    I ja isto mislim, properties pozicija kontrole bi trebale da budu "public" uglavnom, znaci mogu se menjati.
    Doduse, kod nekig programskih jezika i klasa koje koriste to ne mora biti tako, pa su neke properties kontrola samo "red only".

  11. #11
    Primećen član nidzesi (avatar)
    Učlanjen
    25.05.2003.
    Pol
    muški
    Lokacija
    Bujanovac
    Poruke
    910
    Reputaciona moć
    62

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Citat Original postavio Pjer_Nis
    Ne znam za VB, ali u Delphiju je mnogo prosto:

    Button1.Left:= 10;
    Button1.Top:=30; i to je to.
    Pa da, ali posle sledećeg prelaska miša preko tog dugmeta (button1) neće se ništa dogoditi... Meni treba da se mrda nonstop, tj. svaki put kada korisnik predje preko da mu bezi...
    Don't forget to keep yourself in a live,
    there is nothing more important than that

  12. #12
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Znaci znas da ga pomeris ali neznas da izvuces random broj? Evo sad cu isprobam u VBu pa cu ti javim....
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  13. #13
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Private Sub ja_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    Dim i As Integer

    i = 500 + Rnd(1) * 4000
    ja.Left = i

    i = 500 + Rnd(1) * 4000 /*ovde da napomenem samo da sam ove brojke lupio.Ti samo krkni malo veci prozor ili smanji brojeve (da budu u opsegu prozora) i nece biti "izletanja" iz okvira*/
    ja.Top = i
    End Sub
    /* JA je neko dugme koje treba da se premesti kad predjes misom preko njega.
    Pozz. Konacno da i ja nesto korisno uradim :-)
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  14. #14
    Primećen član nidzesi (avatar)
    Učlanjen
    25.05.2003.
    Pol
    muški
    Lokacija
    Bujanovac
    Poruke
    910
    Reputaciona moć
    62

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Citat Original postavio toxi
    Private Sub ja_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    Dim i As Integer

    i = 500 + Rnd(1) * 4000
    ja.Left = i

    i = 500 + Rnd(1) * 4000 /*ovde da napomenem samo da sam ove brojke lupio.Ti samo krkni malo veci prozor ili smanji brojeve (da budu u opsegu prozora) i nece biti "izletanja" iz okvira*/
    ja.Top = i
    End Sub
    /* JA je neko dugme koje treba da se premesti kad predjes misom preko njega.
    Pozz. Konacno da i ja nesto korisno uradim :-)
    Hvala lepo, jos samo kad mi hteo da mi objasnis kako to radi, tj. sta je 500 + rnd(1) * 4000...


    Npr, ako hocu da dugme ja ne predje 10000 (ni top ni left), kako treba da stavim?
    Don't forget to keep yourself in a live,
    there is nothing more important than that

  15. #15
    Zainteresovan član
    Učlanjen
    27.09.2003.
    Pol
    muški
    Lokacija
    Sydney
    Poruke
    388
    Reputaciona moć
    55

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Ne znam kod VB Ali u VB2005 i VB.NETU Rnd bez Randomize() uvek prvi put kad pokrenes aplikaciju dace isti broj!!

    Kod:
    Randomize()
    ' Slucajan broj izmedju u rasponu od 1 - 1000.
    
    Dim slucajanBroj As Integer = CInt(Int((1000 * Rnd()) + 1))

  16. #16
    Zainteresovan član
    Učlanjen
    27.09.2003.
    Pol
    muški
    Lokacija
    Sydney
    Poruke
    388
    Reputaciona moć
    55

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Ne znam kod VB6 Ali u VB2005 i VB.NETU Rnd bez Randomize() uvek prvi put kad pokrenes aplikaciju dace isti broj!! Zato postoji Randomize() da bi se izbegao taj problem

    Kod:
    Randomize()
    ' Slucajan broj izmedju 1 - 1000.
    
    Dim slucajanBroj As Integer = CInt(Int((1000 * Rnd()) + 1))

    Isto moze ovako da se uradi:

    Kod:
    Dim GenerisiSlucajanBroj as Random = New Random(DateTime.Now.Millisecond)
    ' Slucajan Broj izmedju 0 i 1000
    Dim Slucajan Broj as Integer = GenerisiSlucajanBroj.Next(1000)
    ' ili recimo izmedju 1 i velicine forme :)
    Dim Slucajan Broj as Integer = GenerisiSlucajanBroj.Next(1,Me.Width)

  17. #17
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Pomeranje dugmadi, VB?

    a jel nije jednostavnije dadvaputa pozove rnd() ???? Ovako jeste "pravilnije"
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  18. #18
    Primećen član Login Killer (avatar)
    Učlanjen
    07.11.2004.
    Lokacija
    LOGIN KILLER OFF.
    Poruke
    869
    Reputaciona moć
    0

    Podrazumevano Re: Pomeranje dugmadi, VB?

    @ SALE83
    I u VB6 je isto.
    Evo od mene, malo krace i sa malim dodatkom:
    Private Sub Command1_Click( Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim x,y as Integer
    Randomize
    x = Int(Rnd(1)*1000)
    y = Int(Rnd(1)*1000)
    Button1.move x, y
    end sub

  19. #19
    Početnik
    Učlanjen
    25.10.2004.
    Lokacija
    Novi Sad
    Poruke
    10
    Reputaciona moć
    0

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Moja ideja je da ne ide slucajan broj vec da se postojeci poveca za neku cifru recimo 100 itd
    Krajisnik Darko

  20. #20
    Neproveren član MasterYoda (avatar)
    Učlanjen
    18.08.2006.
    Pol
    muški
    Lokacija
    Very Far Away from Anywhere Else
    Poruke
    4.260
    Reputaciona moć
    0

    Podrazumevano Re: Pomeranje dugmadi, VB?

    Citat Original postavio toxi
    Private Sub ja_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    Dim i As Integer

    i = 500 + Rnd(1) * 4000
    ja.Left = i

    i = 500 + Rnd(1) * 4000 /*ovde da napomenem samo da sam ove brojke lupio.Ti samo krkni malo veci prozor ili smanji brojeve (da budu u opsegu prozora) i nece biti "izletanja" iz okvira*/
    ja.Top = i
    End Sub
    /* JA je neko dugme koje treba da se premesti kad predjes misom preko njega.
    Pozz. Konacno da i ja nesto korisno uradim :-)
    Ovo je sasvim korektno rješenje. Naravno, ograničenja se mogu izračunati preuzimanjem Height i Width iz propertija prozora pa se može pisati

    me.Left = imeprozora.Width * Rnd(1)
    me.Top = imeprozora.Height * Rnd(1)

Slične teme

  1. Odgovora: 1
    Poslednja poruka: 24.04.2008., 20:43
  2. POMERANJE RANG LISTE NA MEDICINI
    Autor caticka u forumu Arhiva
    Odgovora: 15
    Poslednja poruka: 18.07.2007., 01:04
  3. Od koje godine je pocelo pomeranje vremena?
    Autor maliMihailo u forumu Istorija
    Odgovora: 10
    Poslednja poruka: 29.12.2006., 23:27
  4. Od koje godine je pocelo pomeranje vremena?
    Autor maliMihailo u forumu Prirodne nauke
    Odgovora: 2
    Poslednja poruka: 29.12.2006., 16:52

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •