Visual Basic 6 - Vytváranie labelov

Programovacie jazyky, rady, poradňa...
Gregory House
Zablokovaný
Zablokovaný
Príspevky: 109
Registrovaný: 12 jún 2009, 19:33

Visual Basic 6 - Vytváranie labelov

Príspevok od používateľa Gregory House »

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?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

včera som tu nebol, tak ti to nemal kto vygoogliť?

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
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ť
Gregory House
Zablokovaný
Zablokovaný
Príspevky: 109
Registrovaný: 12 jún 2009, 19:33

Príspevok od používateľa Gregory House »

label na to miesto pridá, len musím ešte nejakým spôsobom pridať kód taký, že ten názov labelu už bude 2. krát iný, lebo vypisuje chybu. Díky

// len keby som vedel ako. S týmto mi nevie už nikto poradiť?
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

pridaj parameter lbl.name = "" hm ?
Gregory House
Zablokovaný
Zablokovaný
Príspevky: 109
Registrovaný: 12 jún 2009, 19:33

Príspevok od používateľa Gregory House »

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:
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

mg sak si len po kazdom pridani do premennej zapisuj cislo posledneho a to je vsetko..
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Príspevok od používateľa manager666 »

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:

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
Ak by si nahodou nepochopil..k jednotlivym labelom pristupujes cez vlastnost s nazvom Index. :wink:
Gregory House
Zablokovaný
Zablokovaný
Príspevky: 109
Registrovaný: 12 jún 2009, 19:33

Príspevok od používateľa Gregory House »

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:

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
Ak by si nahodou nepochopil..k jednotlivym labelom pristupujes cez vlastnost s nazvom Index. :wink:
Wow, funguje to. A teraz, zaslúžená odmena...
piton
King
King
Používateľov profilový obrázok
Príspevky: 1902
Registrovaný: 02 aug 2005, 0:31
Bydlisko: Hnojisko

Príspevok od používateľa piton »

manager666 napísal:odporucam ti prejst na VB.Net.
Ja mu odporucam prejst na C#, VB je de facto mrtvy jazyk...
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

ked uz hovoris o tom "defacto" tak VB a C# je po skompilovani na 99% zhodny kod takze je to jedno v com robi... uz len zalezi natom v com sa mu lepsie robi...a VB sa aj mne zda byt lahsi
piton
King
King
Používateľov profilový obrázok
Príspevky: 1902
Registrovaný: 02 aug 2005, 0:31
Bydlisko: Hnojisko

Príspevok od používateľa piton »

To je jasne, obe sa prekladaju do CIL, ale ide o to, ze VB sa uz nevyvija, narozdiel od C#. Je pravda, ze VB je jednoduchsi, ale hlavnym tahunom .NETu je jednoznacne C#, VB upada do zabudnutia.
Gregory House
Zablokovaný
Zablokovaný
Príspevky: 109
Registrovaný: 12 jún 2009, 19:33

Príspevok od používateľa Gregory House »

Ja som začal programovať vo VB6 a už nechcem prechádzať na iný typ, lebo už som naučený na VB6 :)
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Príspevok od používateľa manager666 »

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. :wink:
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa Gepid »

A ja len doplním, že toto nie je témo o tom či je lepší VB alebo C#
Napísať odpoveď