Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Dynamiska kontroller...

Postades av 2003-04-11 12:01:17 - David Hedlund, i forum visual basic - allmänt, Tråden har 11 Kommentarer och lästs av 387 personer

Hur skapar jag en kontroll med vanlig kod i Visual Basic 6?

Alltså...t.ex:

private sub form_load()
for i = 1 to 30
skapa myFrame(i)
skapa myLabel(i) i myFrame(i)
ställ in storlek, plats, caption m.m
next
end sub

Jag vill alltså göra control arrays där en label ligger i en frame.
Hur bör jag gå tillväga?
Tack!


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 12:33:46 - Anders Eidergard

>Hur skapar jag en kontroll med vanlig kod i Visual Basic 6?
>
>Alltså...t.ex:
>
>private sub form_load()
>for i = 1 to 30
> skapa myFrame(i)
> skapa myLabel(i) i myFrame(i)
> ställ in storlek, plats, caption m.m
>next
>end sub
>
>Jag vill alltså göra control arrays där en label ligger i en frame.
>Hur bör jag gå tillväga?
>Tack!

Använd Controls.Add (ProgID, name, container)

Exempelvis såhär:
(förutsätter att du har ett formulär med en knapp Command1 och en textbox Text1)

Private Sub Command1_Click()
Dim n As Long
Dim NewField As TextBox
Dim NewFrame As Frame
For n = 0 To Text1.Text
Set NewFrame = Form1.Controls.Add("VB.Frame", "fraNotes" & n)
Set NewField = Form1.Controls.Add("VB.TextBox", "txtNotes" & n, NewFrame)
With NewFrame
.Caption = .Name
.Height = 685
.Width = 5000
.Top = .Top + 690 * n
End With
With NewField
.Top = 250
.Left = 200
.Height = 285
.Text = .Name
End With
NewFrame.Visible = True
NewField.Visible = True
Next n
End Sub

Problemet är att få in det i en array och jag är inte säker på fall det går.
Kanske nån annan som vet.
Annars finns möjligheten att använda VBControlExtender (kolla i MSDN).
Det finns även mer om Controls.Add i MSDN.

/Anders


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 12:34:25 - Jonthan Andersson

Jag vet inte.. fråga nån annan.


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 12:38:52 - David Hedlund

Gott!
Thx


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 12:43:22 - Andreas Hillqvist

Förutsatt du har en KontrollArray av myFrame() och myLabel():
<code>
Private sub form_load()
Dim Label As Label
Dim Frame As Frame
For i = 1 to 30
'skapa myFrame(i)
Set Frame = myFrame(i)
Load Frame

'skapa myLabel(i)
Set Label = myLabel(i)
Load Label

'Flytta myLabel(i) till myFrame(i)
Set Label.Container = Frame

'ställ in storlek, plats, caption m.m
Next
End sub
</code>
En kontroll array skapar du genom att lägga till önskad kontroll och tilldela index egenskapen för kontrollen ett värde. T.Ex. 0.


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 12:58:01 - David Hedlund

Hm...ok, men:

Set Frame = myFrame(i)

ger:

Compile Error:
Sub of Function not defined


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 13:08:30 - Andreas Hillqvist

Skapa en fram i desing time som heter "myFrame". Sätt Index = 0 för "myFrame". Samma sak med labeln.


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 13:31:58 - Anders Eidergard

Det går inte att ändra index-property i runtime :(


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 13:38:10 - David Hedlund

Jaja...nu funkar det i alla fall.
Tack för det!!


Svara

Sv: Dynamiska kontroller...

Postades av 2003-04-11 14:00:49 - Anders Eidergard

Efter lite pulande kom jag fram till följande:

Private Sub Command1_Click()
Dim n As Long
Dim NewField As TextBox
Dim NewFrame As Frame
For n = 0 To Text1.Text
'Sätt parenteser runt index för kontrollen "fraNotes" & (n) så får man en array
Set NewFrame = Form1.Controls.Add("VB.Frame", "fraNotes" & (n))
Set NewField = Form1.Controls.Add("VB.TextBox", "txtNotes" & (n), NewFrame)
With NewFrame
.Caption = .Name
.Height = 685
.Width = 5000
.Top = .Top + 690 * n
End With
With NewField
.Top = 250
.Left = 200
.Height = 285
.Text = .Name
End With
NewFrame.Visible = True
NewField.Visible = True
Next n
End Sub


Detta eliminerar behovet av att lägga en kontroll på formuläret i design-time.
Hoppas det hjälper!

/Anders


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
787
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies