ColdCode Skrevet 19. april 2010 Del Skrevet 19. april 2010 Hei. Jeg liker å pusle med Visual Basic Men, knapper, menyer og slikt blir fort kjedelig. Kan jeg lage en rund knapp, f.eks? Eller lage så mange kanter jeg vil på en FORM? Håper på svar Lenke til kommentar
Merko Skrevet 19. april 2010 Del Skrevet 19. april 2010 (endret) Selve standard-formen kan ikke ha flere enn 4 kanter så vidt jeg vet. Men du kan lage dine egne former i feks Paint eller Photoshop eller lignende programmer. La oss si du lagde noe lignenede dette i Photoshop: (Klikk for større) Da er det grå formen, mens alt som er rosa blir gjennomsiktig. Lagre bildet som PNG eller Bmp for best mulig kvalitet. Sett bildet du laget som BackgroundImage i formen: Så velger du TransparancyKey (RGB Verdi som skal bli gjennomsiktig) Det er viktig at du har samme RGB Verdi på TransparancyKey som på bildet du lagra, ellers vil det ikke gå. Når det er gjort setter du FormBorderStyle til None (Fjerner kanten rundt formen, tittelbar osv) Da får du noe lignende dette(Alt ettersom hvordan du tegnet opp formen din) (Klikk for større). Du kan også tegne dine egne knapper. Men da kan du bruke PictureBox, så legge inn bildet til knappen der. Du kan tegne opp formen med kode også, men tar mye lengre tid. Her er et eksempel: Dette er riktignok eksempel for VB.net. Endret 19. april 2010 av Merko. Lenke til kommentar
ColdCode Skrevet 20. april 2010 Forfatter Del Skrevet 20. april 2010 Hei, tusen hjertelig for guide Dette var nesten for avansert for meg, men da har jeg jammen lært noe nytt da også Er bare en 13 år gammel gutt som pusler litt med Visual Basic, noe jeg syns er veldig gøy. Det du skrev åpner helt nye muligheter for meg Enda en gang, tusen hjertelig takk VB96 Hei igjen. Jeg vet ikke om du skrev det, men kunne man "lage knapper" av det man har tegnet? F.eks at den posisjonen er en knapp? Takker for svar! VB96 Lenke til kommentar
backup Skrevet 20. april 2010 Del Skrevet 20. april 2010 Her er kode for en rund knapp i vb6. Test i vb6-editoren, merk at knappens handling er lagt til picture1 mouseup eventen. Endre på parametrene for å tilpasse text, skrift, farger og knappens grad av rundhet etc. Knappens posisjon blir der man setter inn picture1 på formen. Knappens størrelse avhenger av hvor stor man gjør picture1 mht width og height. Private Declare Function SetWindowRgn Lib "User32" _ (ByVal hwnd As Long, _ ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Private Declare Function CreateRoundRectRgn _ Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, _ ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, _ ByVal Y3 As Long) As Long Const ETO_OPAQUE = 2 Private Declare Function ExtTextOut Lib "gdi32" _ Alias "ExtTextOutA" (ByVal hdc As Long, _ ByVal x As Long, ByVal y As Long, ByVal wOptions As _ Long, ByVal lpRect As Any, ByVal lpString As String, _ ByVal nCount As Long, lpDx As Long) As Long Private Sub Form_Load() Picture1.BackColor = RGB(255, 0, 0) Picture1.FontSize = 10 Picture1.BorderStyle = 0: n = 100 'rund knapp, n = 44 runde hjørner etc. px = Picture1.Width / 15 py = Picture1.Height / 15 draw_text SetWindowRgn Picture1.hwnd, _ CreateRoundRectRgn(0, 0, px, py, n, n), True End Sub Private Sub Picture1_MouseDown(Button As Integer, _ Shift As Integer, x As Single, y As Single) Picture1.BackColor = RGB(0, 255, 0) draw_text End Sub Private Sub Picture1_MouseUp(Button As Integer, _ Shift As Integer, x As Single, y As Single) Picture1.BackColor = RGB(255, 0, 0) draw_text MsgBox ("Hei på deg!") End Sub Private Sub draw_text() Picture1.FontBold = True Picture1.ForeColor = RGB(0, 0, 255) Dim Arr(0 To 5) As Long Const mStr = "Knapp" Me.ScaleMode = vbPixels For x = 0 To 5 Arr(x) = 10 Next x Dim text_left, text_top text_left = 17 text_top = 30 ExtTextOut Picture1.hdc, text_left, text_top, _ ETO_OPAQUE, ByVal 0&, mStr, Len(mStr), Arr(0) End Sub Private Sub Picture1_Paint() draw_text End Sub Lenke til kommentar
ColdCode Skrevet 20. april 2010 Forfatter Del Skrevet 20. april 2010 Heisann. Takker super mye for alle svar Tusen takk alle sammen. Men, en liten ting til lurte jeg på Når jeg har satt FormBorderStyle til "None", så får jeg jo ikke beveget på FORMen min. Hvordan får jeg til slik at jeg kan bevege på den, men allikevel ha FormBorderStyle på None? :/ Takk igjen! VB96 Lenke til kommentar
Merko Skrevet 22. april 2010 Del Skrevet 22. april 2010 Heisann. Takker super mye for alle svar Tusen takk alle sammen. Men, en liten ting til lurte jeg på Når jeg har satt FormBorderStyle til "None", så får jeg jo ikke beveget på FORMen min. Hvordan får jeg til slik at jeg kan bevege på den, men allikevel ha FormBorderStyle på None? :/ Takk igjen! VB96 sånn at det ikke skal bli noen forvirring, bruker du Visual Basic 6, eller Visual Basic 2008 \ 2010 eller noe? Her er iallefall et VB.Net eksempel på hvordan du flytter på formen uten at du må bruke FormBorderStyle. Kanskje ikke den beste måten, men fungerer fint. Lenke til kommentar
ColdCode Skrevet 28. april 2010 Forfatter Del Skrevet 28. april 2010 Heisann. Takker super mye for alle svar Tusen takk alle sammen. Men, en liten ting til lurte jeg på Når jeg har satt FormBorderStyle til "None", så får jeg jo ikke beveget på FORMen min. Hvordan får jeg til slik at jeg kan bevege på den, men allikevel ha FormBorderStyle på None? :/ Takk igjen! VB96 sånn at det ikke skal bli noen forvirring, bruker du Visual Basic 6, eller Visual Basic 2008 \ 2010 eller noe? Her er iallefall et VB.Net eksempel på hvordan du flytter på formen uten at du må bruke FormBorderStyle. Kanskje ikke den beste måten, men fungerer fint. Heisann. Tusen takk for svar. AKKURAT det jeg trengte, begynte å lure når jeg ikke fikk beveget på formen. Jeg bruker Visual Basic 2010 Ultimate Hvis du lurer på hvorfor jeg ikke er å så flink i dette her, så er det fordi jeg startet for bare 3-4 mnd siden og fordi jeg bare er 13 år, men lærer fort synes jeg:) Takker for alt, enda en gang. Lenke til kommentar
ColdCode Skrevet 8. juli 2010 Forfatter Del Skrevet 8. juli 2010 Hei. Tar opp igjen tråden igjen, fordi jeg har et lite spørsmål. Hvordan kan jeg få tittel greia, den som er blå i XP og gjennomsiktig i Vista, til å f.eks bli gjennomsiktig i XP? Håper dere forstår spørsmålet :o) 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å