[ Aleksandar Ružičić @ 29.08.2004. 23:11 ] @
Evo sta me muci:
1. Posto prvo pitaje ne mogu da objasnim recima (mislim mogu al mozda neki ne bi shvatili) uploadovao sam ovde jedan projekat u koji sam ubacio samo to sto me muci, pa ako imate vremena downloadujte ga i tamo sve pise (i vidi se).

2. Ovo mislim da je neizvodivo (al ipak sta ja znam o VB-u?) ali mozda neko ima resenje:
Primer: imam dva picboxa pic1 i pic2, pic2 je iznad pic1 i ima podesen Tag parametar "Ghost".
Evo sta me muci: u pic2_MouseDown sub-u preverim da li je Tag="Ghost" i ako jeste onda pozovem pic1_MouseDown. Dobro ako znam koji je objekat iznad kog ovo je prosto. Ali sta ako ne znam koji je objekat ispod? Znaci kako da znam koji je objekat ispod? (ako je bitno: sve kontrole su picbox-ovi, kada ucitavam picbox sa 'pic.ZOrder 0' ga stavljam iznad ostalih kontrola)

3. Kako string 'FF00FF' pretvorim u 255, 0, 255.(Hex(255)=FF, Hex(0)=00 - al kao obrnuto?)

Nadam se da nisam previse zahtevan ali ovo mi treba za skinove (freeform) za plejer koji upravo pravim.

4. Jos jedno: Kako da preko Media Player kontrole pustam Audio CD (.CDA fajlove)??? Vazno: ne zelim da koristim Microsoft MultiMedia kontrolu (jer ne mogu sa njom da upravljam kako hocu). Ovo cetvrto mi je najvaznije...

Hvala unapred.

Pozdrav Svima!

[Ovu poruku je menjao mladenovicz dana 30.08.2004. u 12:49 GMT]
[ mladenovicz @ 30.08.2004. 10:04 ] @
1. U Fake_MouseMove na pocetku stavi

Code:

        If Y < 0 Then Exit Sub
        If Y > Thumb.Height Then Exit Sub
        If HSlider.xLeft < X Then Exit Sub
        If X > HSlider.lWidth Then Exit Sub


U Fake_MouseMove imas ovaj refresh koji pravi flicker. Ako stignem pogledacu kako moze da se sredi

2. Evo ideje. Treba da imas jednu klasu koja predstavlja glavni objekat (container, na kome se nalazi sve ostalo, treba da ima metode AddObject, RemoveObject, Refresh, MoveObject, ...). Svaki objekat koji se nalazi na containeru treba opet da bude zasebna klasa, koja izmedju ostalog ima i proeprty Zorder . E sad, container klasa sadrzi kolekciju svih objekata (ovih drugih klasa) koji se nalaze "na njoj" i zgodno bi bilo da je ta kolekcija sortirana po zorderu, ali u principu ne mora. Kad se desi MouseDown event, njega handleuje container klasa i to tako sto trazi iznad kog objekta je mouse pointer i uzima onaj sa najmanjim zorderom (zato je zgodno da kolekcija bude sortirana po zorderu) i poziva njegov event handler za taj dogadjaj.

3.
Code:

Public Enum RGBColor
    gcRed = 1
    gcBlue = 2
    gcGreen = 3
End Enum

Public Function GetRGBColor(ByVal Color As String, ColorPart As RGBColor) As Long
    'extract de RGB color from a value
    Dim strColor As String
    strColor = Right$("000000" & Hex$(Color), 6)
    Select Case ColorPart
        Case gcRed
            GetRGBColor = Val("&h" & Right$(strColor, 2))
        Case gcGreen
            GetRGBColor = Val("&h" & Mid$(strColor, 3, 2))
        Case gcBlue
            GetRGBColor = Val("&h" & Left$(strColor, 2))
    End Select
End Function

'Usage:
'MsgBox GetRGBColor("&HFFFFFF", gcBlue)


4. Evo jedan sample u attachmentu, a za vise vidi Google
[ mladenovicz @ 30.08.2004. 11:45 ] @
Umesto

Code:

            Fake.Left = HSlider.lWidth + HSlider.xLeft
            Thumb.Left = Fake.Left


mozes da koristis

Code:

            Fake.Move HSlider.lWidth + HSlider.xLeft
            Thumb.Move Fake.Left


Za ovu tvoju aplikaciju nije mnogo bitno, posto azuriras samo Left property, ali ako trebas da azuriras left i top, onda koristi Move
[ Aleksandar Ružičić @ 30.08.2004. 21:05 ] @
Mnogo hvala!
Ovo za 3. odlicno radi mada mi tvoj odgovor na 2. pitanje izgleda malo tezi probacu pa ko zna mozda nesto i uradim. Sto se tice onoga oko cd i ono mi valja mada bi mi najvise odgovaralo da cda pustam preko MPL kontrole, jer u protivnom sve funkcije koje sam dosad napisao moram da prepljavam...(al sta je to dva sata posla u vr' glave:)). Hvala i za ovo oko slajdera, radi bolje sad (al ima jos bug-ova)...

Pozdrav!
[ Aleksandar Ružičić @ 31.08.2004. 01:45 ] @
Imam jos jedno pitanje:
imam npr. sliku (slika.bmp) na kojoj mi se nalaze tri 'crteza' koja moram da ubacim u tri picbox-a. Sledi pitanje: kako da npr u pic1 ucitam sliku slika.bmp ali samo cetvorougaonik x,y,w,h (ja da odredim x,y,w,h) a ne celu sliku.

[ Shadowed @ 31.08.2004. 09:34 ] @
Mozes pomocu Point i PSet ali je sporo ili mozes da koristis API funkciju BitBlt:
Code:
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long,_
ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long,_
ByVal ySrc As Long, ByVal dwRop As Long) As Long
[ Aleksandar Ružičić @ 01.09.2004. 17:44 ] @
Znam za BitBlt i nesto sam pokusavao sa njom al mi nesto nestima pa bih molio objasnjene, ako moze...

Hvala.