Spuštění procedury Command1_Click()   zodpovězená otázka

VB6/VBA

Supr web:)

Vím, jak spustit fci (proceduru), kterou si sám vytvořím. Ale co když chci spustit proceduru, která se provádí po kliknutí na button?

Např. kliknutí na tlačítko Command1 (čili procedura se jmenuje Command1_Click()) způsobí pípnutí. Potřebuji tuto proceduru volat ze stejného formuláře, ale z jiné procedury.

Konkrétněji: Daná procedura provádí "něco" s textem v textovém poli Text1. Potřebuji aby se procedura provedla nejen po kliknutí na button, ale také po stisku klávesy Enter (stisk klávesy umím detekovat).

Pokud nechci kód opisovat podruhé, napadá mě jedině použití funkce, která se provede jak po kliknutí, tak po stisknutí Enter. Jenže nová funkce mi jaksi naboří celkovou stylistiku programu, proto hledám elegantnější způsob. Příkaz GoTo bohužel umí poskakovat pouze v rámci jedné procedury.

Možná můj jednoduchý problém popisuji příliš složitě, ale lepší než abych nebyl pochopen, že :-)

Používám VB6. Za případnou radu děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No stačí přece zavolat přímo tu metodu která ošetřuje klepnutí na tlačítko, ve vašem případě Command1_Click. Doufám že jsem správně pochopil co chcete udělat...

Private Sub Command1_Click()
  'Provést "něco" s textem v textovém poli Text1.
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
  'Stejná procedura se provede po stisku klávesy
  Command1_Click
End Sub

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Tuším ešte v starom VB bolo potrebné použiť kľúčové slovo Call pri volaní procedúr.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nebylo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Bylo to možné, ale ne nutné. Basic pokud vím nikdy slovo Call nevyžadoval, vždycky tam bylo, ale stejně jsem nepochopil jeho smysl (jedině že byste chtěl stejně pojmenovávat proměnné a procedury).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano, vskutku, je to tak. Chybu jsem dělal v tom, že jsem tam vypsal i závorky () za název procedury. VB to pak nestráví.

Díky! :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback