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: 504 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

highagain87
Srdjan Prpa
Srbija - Pozega

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

Sajt: www.djus.net


Profil

icon Pomeranje prozora kad je Border Style 008.07.2007. u 14:27

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?
08.07.2007. u 14:27 

Marko_L
Marko Lošonc
Project Manager, Maxifer d.o.o
Beograd

Moderator
Član broj: 20532
Poruke: 2112
89.216.213.*

Jabber: Marko_L@elitesecurity.org
ICQ: 249407402
Sajt: www.jurassicsoft.com


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 14:41
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
08.07.2007. u 14:41 

highagain87
Srdjan Prpa
Srbija - Pozega

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

Sajt: www.djus.net


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:36
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
08.07.2007. u 15:36 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8676
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:45
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.
08.07.2007. u 15:45 

Marko_L
Marko Lošonc
Project Manager, Maxifer d.o.o
Beograd

Moderator
Član broj: 20532
Poruke: 2112
89.216.213.*

Jabber: Marko_L@elitesecurity.org
ICQ: 249407402
Sajt: www.jurassicsoft.com


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:55
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
08.07.2007. u 15:55 

Marko_L
Marko Lošonc
Project Manager, Maxifer d.o.o
Beograd

Moderator
Član broj: 20532
Poruke: 2112
89.216.213.*

Jabber: Marko_L@elitesecurity.org
ICQ: 249407402
Sajt: www.jurassicsoft.com


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 15:59
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: KPDTeam@Allapi.net
    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
08.07.2007. u 15:59 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8676
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 17:12
To je to.
08.07.2007. u 17:12 

highagain87
Srdjan Prpa
Srbija - Pozega

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

Sajt: www.djus.net


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 18:53
Jel mozete jos da uradite jedan primerak i da ga okacite na forum!
08.07.2007. u 18:53 

Marko_L
Marko Lošonc
Project Manager, Maxifer d.o.o
Beograd

Moderator
Član broj: 20532
Poruke: 2112
89.216.220.*

Jabber: Marko_L@elitesecurity.org
ICQ: 249407402
Sajt: www.jurassicsoft.com


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 22:24
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
08.07.2007. u 22:24 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8676
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Pomeranje prozora kad je Border Style 008.07.2007. u 22:36
U vezi 5), moras brzo da kliknes drugi put; takozvani dupli klik.
08.07.2007. u 22:36 

highagain87
Srdjan Prpa
Srbija - Pozega

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

Sajt: www.djus.net


Profil

icon Re: Pomeranje prozora kad je Border Style 009.07.2007. u 02:18
Hvala svima namestio sam!
09.07.2007. u 02:18 

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

[ Pregleda: 504 | Odgovora: 10 ]

Postavi temu Odgovori

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