Richard87 Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 Eg har lyst og laga et eget "interface" te et programm te innlevering... ka e det grunn leggande eg bør gjør for og få dette te:(se bilde/vedleg) kossen kan eg fjerna ALT fra formen utenom det svarte ommråde og alle kontrollene som er oppå den, de mest grunleggende elementene som kreves av koden min... noen ide? Lenke til kommentar
chotika Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 Hei! Forstår ikke helt hva du spør om her. Tenker du på og lage et eget design ? MVH Chotika Lenke til kommentar
oyvind_b Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 Prøv denne: http://www.vbrad.com/pf.asp?p=source/src_region_clip.htm Øyvind Lenke til kommentar
Jonas Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 (endret) Du vil ha en form som er formet som en ball? Altså en rund-formet form? Jeg vet at aadnk har postet et eksempel som gjør alt hvitt (Eller en annen farge om du vil) gjennomsiktig. Kan søke, fire sec bare.. Edit: Rund-formet form! Rund_formet_form.zip Endret 1. mars 2005 av Jonas Lenke til kommentar
Richard87 Skrevet 1. mars 2005 Forfatter Del Skrevet 1. mars 2005 (endret) nice:D akkuratt ka eg ville ha, tusen takk for hjelpen... men kossen kan eg få ann te og visa på oppgave linjå når eg ikkje har någe border på formen? eller muligens fjerna borderen sjøl? [EDIT] PS: ka e poenget med den måten som andre har gjort det på når de loop'e gjennom alle pixlene og fjerner dem avhengig av om de er "hvite" eller ikke? kossen virke det i forhåld til denne metoden(uteom at nå ble det _veldig_ my enklere:D) dvs, DeletObject etc Endret 1. mars 2005 av Richard87 Lenke til kommentar
Jonas Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 Du kan vise formen i "taskbar", selvom formen er uten border. Bare endre ShowInTaskbar til True, så vises den Lenke til kommentar
Richard87 Skrevet 1. mars 2005 Forfatter Del Skrevet 1. mars 2005 (endret) ja, eg prøvde det, men programmet brukte bare utrolig lang te og loade, og så viste det ikke noe i task-bar'en,,, [EDIT] omg, eg vett ikke ka eg gjorde, men nå virke det.. vet du noge om det andra spørsmålet mitt? [EDIT2] Ka e det SendMessage funksjonen sende for någen? SendMessage Me.hwnd, &HA1, 2, 0& [EDIT3] ok, eg ser ka SendMessage gjør nå, men når eg prøvde og laga ein Class module med funksjonen i, så nekta formen og blitt flutta itte på, någen ide? 'clsInterface Option Explicit Private Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" (ByVal hWND As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" (ByVal hWND As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function SetLayeredWindowAttributes Lib "USER32" (ByVal hWND As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Private Declare Function ReleaseCapture Lib "USER32" () As Long 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 Const LWA_COLORKEY = &H1 Private Const LWA_ALPHA = &H2 Private Const GWL_EXSTYLE = (-20) Private Const WS_EX_LAYERED = &H80000 Public Function CreateForm(ByVal BackColor As Long, hWND As Long) As Boolean Dim Ret As Long Ret = GetWindowLong(hWND, GWL_EXSTYLE) Ret = Ret Or WS_EX_LAYERED SetWindowLong hWND, GWL_EXSTYLE, Ret SetLayeredWindowAttributes hWND, BackColor, 255, LWA_COLORKEY Or LWA_ALPHA DoEvents ReleaseCapture SendMessage hWND, &HA1, 2, 0& End Function Endret 1. mars 2005 av Richard87 Lenke til kommentar
Jonas Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 Ja, formen vil ikke flyttes, fordi ReleaseCapture og SendMessage-koden ikke kalles når man trykker på formen. Det er de som flytter på formen når du trykker! Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ReleaseCapture SendMessage Me.hwnd, &HA1, 2, 0& End Sub Det legger du i formen. Måten andre gjør det på vet jeg ingen ting om. Har ikke sett måten til de "andre", og er egentlig ikke så dreven på API. Lenke til kommentar
Richard87 Skrevet 1. mars 2005 Forfatter Del Skrevet 1. mars 2005 (endret) ok, der va en annen måte(mye mer kompliser, på EliteVB...) men koffer virka det ikkje i ein class module? [EDIT] hehe, leste bare deler av den siste posten din... eg fatte.. EDIT2: Kossen kan eg "reversere" funksjonen? Endret 1. mars 2005 av Richard87 Lenke til kommentar
aadnk Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 For å tilbakestille formen, kan du eksempelvis gjøre sådan: Public Sub ResetForm(hwnd As Long) Dim Ret As Long Ret = GetWindowLong(Me.hwnd, GWL_EXSTYLE) Ret = Ret And (Not WS_EX_LAYERED) SetWindowLong hwnd, GWL_EXSTYLE, Ret End Sub Lenke til kommentar
Richard87 Skrevet 3. mars 2005 Forfatter Del Skrevet 3. mars 2005 Tusen takk for all hjelpen, eg kunnei kkje ha gjort det uten dokk;D her e en ferdig Class Module som kan gjøra alt pluss litt te...: SetForm <-- .SetForm vbWhite, me.hWnd, 127 I I ^ Alpha blending, hvor mye av formen I I som skal vises(transparentsy)(Optional) I ^ hWnd en til formen(Optional) ^Fargen som skal vekk ReSetForm <-- .ReSetForm Me.hWnd ^ hWnd til formen...(Optional) MoveForm <-- .MoveForm Me.Hwnd ^ hWnd til formen...(Optional) AllowOnTop <-- .AllowOnTop Me.Hwnd ^ hWnd til formen...(Optional) SetOnTop <-- .SetOnTop Me.Hwnd ^ hWnd til formen...(Optional) hWnd <-- .hWnd Me.Hwnd gjør sånn at du ikke trenger og legge til hWnd i noen annen funksjon... clsCustInterface.cls Lenke til kommentar
Richard87 Skrevet 7. mars 2005 Forfatter Del Skrevet 7. mars 2005 ok, kom på skolen og skulle testa programmet, men fant ut at Win98 og tidligere IKKJE støtta funksjonen(SetLayeredWindowAttributes), Så kossen fungere den dere ClipRegion greiå? Lenke til kommentar
aadnk Skrevet 7. mars 2005 Del Skrevet 7. mars 2005 Jeg tror det mest fordelaktige ville være et kompromiss - benytt begge metodene, men bruk dem avhengig av hvilken versjon av Windows brukeren kjører. Man kan se et eksempel på dette på følgende side: http://vb.mvps.org/samples/project.asp?id=translucent Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå