Visual Basic 6 - Vytváranie labelov
-
Gregory House
Zablokovaný
- Príspevky: 109
- Registrovaný: 12 jún 2009, 19:33
Visual Basic 6 - Vytváranie labelov
Dobrý deň. Potrebujem vedieť, ako môžem vytvárať ľubovoľný počet labelov bez toho, aby som ich vopred vyrobil? Presnejšie:
Mám v scéne 2 textboxy, 1 command, 0 labelov.
Prvý textbox volajme TextL a druhý TextT. L = Left, T = Top.
Keď zadám do obidvoch textboxov čísla, konkrétne Top a Left a stlačím Command1, automaticky sa na mieste určenom číslami vytvorí nový Label s názvom Label1. Keď dám iné čísla, vytvorí sa na tom mieste, ale s menom Label2. Mohol by mi, PROSÍM, niekto napísať kód?
Pozn.: V programovaní som ešte len začiatočník
Pozn.2: Potrebujem kód a vysvetlenie, alebo len kód, no nie len vysvetlenie
Ďakujem.
// To fakt nikto nepozna odpoved?
Mám v scéne 2 textboxy, 1 command, 0 labelov.
Prvý textbox volajme TextL a druhý TextT. L = Left, T = Top.
Keď zadám do obidvoch textboxov čísla, konkrétne Top a Left a stlačím Command1, automaticky sa na mieste určenom číslami vytvorí nový Label s názvom Label1. Keď dám iné čísla, vytvorí sa na tom mieste, ale s menom Label2. Mohol by mi, PROSÍM, niekto napísať kód?
Pozn.: V programovaní som ešte len začiatočník
Pozn.2: Potrebujem kód a vysvetlenie, alebo len kód, no nie len vysvetlenie
Ďakujem.
// To fakt nikto nepozna odpoved?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
včera som tu nebol, tak ti to nemal kto vygoogliť?
Skús takto nejak: aby mali mena tak postupne ako chceš, to neviem. Ale aj keby som vedel by som to tak nerobil, dynamické elementy sa vždy dávali, dávajú a aj budú dávať do listu aby si k nim mohol jednoduchšie (a hlavne aby si k ním vôbec mohol) pristupovať
Skús takto nejak:
Kód: Vybrať všetko
Dim lbl as Label
Set lbl = Me.Controls.Add("VB.Label", "lbl")
lbl.Caption = "This is a test"
lbl.Visible = True
lbl.top = hodnota z jedneho editu
lbl.left = hodnota z druheho editu-
Gregory House
Zablokovaný
- Príspevky: 109
- Registrovaný: 12 jún 2009, 19:33
-
Gregory House
Zablokovaný
- Príspevky: 109
- Registrovaný: 12 jún 2009, 19:33
Ozaj! To ma nenapadlo diky moc.
// Skúšal som to, ale ani to nefungovalo. Nevedel by niekto navrhnúť celý ten kód ešte raz, ale aj s tou funkciou, že keď budem vytvárať viacej Labelov tak po poradí budú mať názvy nasledovné: Label1, Label2, Label3...
Veľmi by som mu bol vďačný a za odmenu mu dám K:plus:
// Skúšal som to, ale ani to nefungovalo. Nevedel by niekto navrhnúť celý ten kód ešte raz, ale aj s tou funkciou, že keď budem vytvárať viacej Labelov tak po poradí budú mať názvy nasledovné: Label1, Label2, Label3...
Veľmi by som mu bol vďačný a za odmenu mu dám K:plus:
-
manager666
Star
- Príspevky: 642
- Registrovaný: 12 aug 2007, 13:29
Chapem, ze si zaciatocnik, ale mohol by si pouzit niekedy google, ja tiez neviem vzdy vsetko a odporucam ti prejst na VB.Net.
Do projectu pridat tlacidlo s nazvom Command1,
textboxy s nazvami TextL,TextT,
label s nazvom Label, idexom 0 a samozrejme vlastnost AutoSize nastavenu na True(kludne ho mozes skryt,ak by bol "navyse"). Pozor pridany prvok neprekryje predchadzajuci, ak su na rovnakych suradniciach...
Tu je kod:
Ak by si nahodou nepochopil..k jednotlivym labelom pristupujes cez vlastnost s nazvom Index. 
Do projectu pridat tlacidlo s nazvom Command1,
textboxy s nazvami TextL,TextT,
label s nazvom Label, idexom 0 a samozrejme vlastnost AutoSize nastavenu na True(kludne ho mozes skryt,ak by bol "navyse"). Pozor pridany prvok neprekryje predchadzajuci, ak su na rovnakych suradniciach...
Tu je kod:
Kód: Vybrať všetko
Dim i As Integer
Private Sub Command1_Click()
i = i + 1
Load Label(i)
Label(i).Caption = Label(i).Name & " s indexom " & i
Label(i).Visible = True
Label(i).Left = TextL.Text
Label(i).Top = TextT.Text
End Sub-
Gregory House
Zablokovaný
- Príspevky: 109
- Registrovaný: 12 jún 2009, 19:33
Wow, funguje to. A teraz, zaslúžená odmena...manager666 napísal:Chapem, ze si zaciatocnik, ale mohol by si pouzit niekedy google, ja tiez neviem vzdy vsetko a odporucam ti prejst na VB.Net.
Do projectu pridat tlacidlo s nazvom Command1,
textboxy s nazvami TextL,TextT,
label s nazvom Label, idexom 0 a samozrejme vlastnost AutoSize nastavenu na True(kludne ho mozes skryt,ak by bol "navyse"). Pozor pridany prvok neprekryje predchadzajuci, ak su na rovnakych suradniciach...
Tu je kod:Ak by si nahodou nepochopil..k jednotlivym labelom pristupujes cez vlastnost s nazvom Index.Kód: Vybrať všetko
Dim i As Integer Private Sub Command1_Click() i = i + 1 Load Label(i) Label(i).Caption = Label(i).Name & " s indexom " & i Label(i).Visible = True Label(i).Left = TextL Label(i).Top = TextT End Sub
Ja mu odporucam prejst na C#, VB je de facto mrtvy jazyk...manager666 napísal:odporucam ti prejst na VB.Net.
-
Gregory House
Zablokovaný
- Príspevky: 109
- Registrovaný: 12 jún 2009, 19:33
-
manager666
Star
- Príspevky: 642
- Registrovaný: 12 aug 2007, 13:29
Mylism, ze piton ma pravdu...pretoze ty si este uplny zaciatocnik(i ked nechcem pochybovat o tvojich schopnostiach), cize by bolo dobre si zvolit v pripade .Net platformy C#. Ja som z VB6 presiel na VB.NET, pretoze som nebol vo VB zaciatocnik a chcel som svoje vedomosti rozsirit a posunut sa s dobou dalej. A samozrejme, ze C# pride onedlho u mna taktiez na rad...ale este mam trochu literatury o VB.NET neuzavretu.
Tolko z mojej strany ohladom prechodu.
Tolko z mojej strany ohladom prechodu.