Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomeranje prozora kad je Border Style 0

[es] :: Visual Basic 6 :: Pomeranje prozora kad je Border Style 0

[ Pregleda: 2632 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Srdjan Prpa
Senior FullStack developer
Cloud Horizon
Beograd, Srbija

Član broj: 120238
Poruke: 131
*.041net.co.yu.



+1 Profil

icon Pomeranje prozora kad je Border Style 008.07.2007. u 14:27 - pre 204 meseci
Da li moze kako da se namesti da mogu da pomeram prozor kad mi je Border Style 0 i da li mogu preko label da pomeram prozor isto kad mi je Border Style 0?
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.213.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 14:41 - pre 204 meseci
Može, ali moraćeš da koristiš API. Evo jednog rešenja na brzaka, mada ima i drugih načina
Code:
Option Explicit
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private MouseDownForm As Boolean
Private MouseDownFormX As Single
Private MouseDownFormY As Single
Private Type POINTAPI
    X As Long
    Y As Long
End Type

Private Sub form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseDownForm = True
MouseDownFormX = X
MouseDownFormY = Y
End Sub

Private Sub form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseDownForm = False
End Sub

Private Sub form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If MouseDownForm = False Then Exit Sub
Dim Z As POINTAPI
Call GetCursorPos(Z)
Me.Top = (Z.Y * 15) - MouseDownFormY
Me.Left = (Z.X * 15) - MouseDownFormX
End Sub

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Srdjan Prpa
Senior FullStack developer
Cloud Horizon
Beograd, Srbija

Član broj: 120238
Poruke: 131
*.041net.co.yu.



+1 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:36 - pre 204 meseci
Mozes li malo jasnije da mi objasnis kako se koristi taj API ili jos bolje da mi odradis u VB jedan primerak pa da mi stavis na forum!


tnx
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:45 - pre 204 meseci
Ima druga varijanta sa API-jem, jednostavnija i elegantnija, al' ne znam napamet a vec sam postovao na forumu. Mozda ce skin u pretrazi ovog foruma dati dobar rezultat.
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.213.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:55 - pre 204 meseci
API je prosto rečeno skup funkcija sadržanih u samom operativnom sistemu koje možeš deklarišeš i pozivaš po potrebi. za detalje skini programčić API Guide (imaš link u TOP temi) u kome imaš spisak funkcija sa sve načinom deklaracije, opisom za šta koja služi, sintaksom i primerima kako se koriste. Što se tiče primera, kod koji sam ti dao je upravo to. Iskopiraj ga u formu i moći ćeš da prevlačiš istu po ekranu tako što klikneš bilo gde na njoj. Što se tiče objašnjenja kako primer radi, u pitanju je prilično jednostavna stvar i koristi samo jedan API poziv GetCursorPos koji nam vraća trenutnu poziciju kursora i nekoliko promenljivih. Ono što zapravo radimo jeste da prilikom klika na formu, odnosno okidanja MouseDown eventa podešavamo flag MouseFormDown na true, koji označava da li je dugme kliknuto ili nije i očitavamo trenutnu poziciju kursora na formi radi kasnijeg izračunavanja gde forma treba da se nađe na ekranu u odnosu na to u kom delu forme je kliknuto kako ne bi dolazilo do seckanja. Zatim u MouseMove eventu radimo samo izračunavanje, odnosno postavljanje forme na mesto gde smo je povukli. i konačnu u MouseUp eventu forme vraćamo flag na False kako se forma ne bi pomerala ako dugme na mišu nije pritisnuto. Kao što rekoh, postoje i drugi načini da se ovo uradi, a za to istraži malo Api pomoću već pomenutog APIGuide-a.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.213.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:59 - pre 204 meseci
Citat:
Ima druga varijanta sa API-jem, jednostavnija i elegantnija, al' ne znam napamet a vec sam postovao na forumu. Mozda ce skin u pretrazi ovog foruma dati dobar rezultat.

Da, zato i rekoh da pogleda API Guide :) Evo primera upravo iz njega.
Code:
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Sub ReleaseCapture Lib "User32" ()
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: [email protected]
    Dim lngReturnValue As Long
    If Button = 1 Then
        'Release capture
        Call ReleaseCapture
        'Send a 'left mouse button down on caption'-message to our form
        lngReturnValue = SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
    End If
End Sub

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 17:12 - pre 204 meseci
To je to.
 
Odgovor na temu

Srdjan Prpa
Senior FullStack developer
Cloud Horizon
Beograd, Srbija

Član broj: 120238
Poruke: 131
*.041net.co.yu.



+1 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 18:53 - pre 204 meseci
Jel mozete jos da uradite jedan primerak i da ga okacite na forum!
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.220.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 22:24 - pre 204 meseci
Pa ako ne možeš da se snađeš da uradiš najobičniji copy paste sa foruma, slobodno se odma' mani programiranja :)

Evo korak po korak:

1. Selektuj sav kod (ovaj poslednji što sam ostavio)
2. Pritisni CTRL+C na tastaturi
3. Otvori VB
4. Dodaj jednu formu (ako već nije dodata)
5. Klikni 2 puta levim dugmetom miša na tu formu i otvoriće ti se prozor za unos koda
6. Pritisni CTRL+V na tastaturi
7. Startuj program
8. Klikni mišem bilo gde na formi i probaj da je vučeš po ekranu

Eto, ja bolje ne umem da objasnim.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 22:36 - pre 204 meseci
U vezi 5), moras brzo da kliknes drugi put; takozvani dupli klik.
 
Odgovor na temu

Srdjan Prpa
Senior FullStack developer
Cloud Horizon
Beograd, Srbija

Član broj: 120238
Poruke: 131
*.041net.co.yu.



+1 Profil

icon Re: Pomeranje prozora kad je Border Style 009.07.2007. u 02:18 - pre 204 meseci
Hvala svima namestio sam!
 
Odgovor na temu

[es] :: Visual Basic 6 :: Pomeranje prozora kad je Border Style 0

[ Pregleda: 2632 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.