V této rubrice najdete odpovědi na své otázky, které můžete zasílat na adresu vbtipy@seznam.cz. Pokud nebudeme znát odpověď na nějakou otázku, objeví se v části Otázky bez odpovědi a budete-li znát odpověď vy, můžete nám ji pomocí výše uvedené adresy zaslat, rádi ji zveřejníme.
Jde ve Visual Basicu nějak tisknout na obálky? A jestli ano, tak jak?
Visual Basic nemá žádnou přímou podporu tisku na obálky. Lze na ně samozřejmně tisknout standardním způsobem, tj. nastavením formátu tiskárny na tu obálku, kterou potřebujete a použítím metody Print objektu Printer.
Prosil by som Vás, keby ste mi poskytli odpoveď na môj problém.
Programujem vo Visual Basicu 4.0. Potreboval by som vedieť, ako sa dajú odstraňovať
položky z ListBoxu pri rozšírenom výbere (Multiselect = 2).
ListBox bohužel nemá žádnou metodu pro odstranění všech označených položek. Proto musíte projít všechny položky, zjistit, jestli jsou vybrány a pokud ano, odstranit je. Nějak takto:
Dim i As Long
i = 0
Do While i <= List1.ListCount - 1
If List1.Selected(i) Then
List1.RemoveItem i
Else
i = i + 1
End If
Loop
Programuji ve Visual Basicu 6.0. Když vytvořím program, na mém počítači funguje bez
problémů. Jak ho ale spustím na jiném počítači, hlásí že chybí soubor MSVBVM60.DLL. Je možné
tento soubor nějak přilinkovat k samotnému programu?
Ve Visual Basicu bohužel nic takového není možné. Pokud vytvoříte EXE soubor, nestačí jej pouze zkopírovat na jiný počítač. Pro běh je potřeba již výše zmíněný soubor a většinou i několik dalších, které nejdou přilinkovat k EXE. Proto bych vám doporučoval použít program Package & Deployment Wizard, který vytvoří instalační program pro Váš program.
Potřebuji zjistit systémové barvy, jako např. barva tlačítka, lišty programu apod.
Používám API funkci GetSysColor, ale nikdy nedostanu žádné číslo barvy.
Tento problém může mít více příčin. Nejpravděpodobnější však bude špatné zadání parametru funkce. Nelze totiž použít konstanty z VB, musíte použít konstanty definované v API prohlížeči dodávaném s VB. Malý příklad:
Public Declare Function GetSysColor Lib "user32" Alias "GetSysColor" (ByVal nIndex As Long) As Long
Public Const COLOR_BTNFACE = 15
Public Const COLOR_BTNTEXT = 18
barva = GetSysColor(COLOR_BTNFACE)
V MSDN je zmienka o použití interfacu k objektom Windows Exploreru na vloženie
objektov (Listview, treeview, combo, taskbar atď ) do vlastných aplikácií, ale priložené
vzory sú pre C++. Chcem Vás požiadať o nejaké moduly alebo príklady pre použitie týchto
objektov, za čo Vám budem veľmi vďačný ! Zaujíma ma hlavne zobrazenie Listview, treeview,
combo z exploreru a objekty z taskbaru (tabsysview, systraj objekt, objekt hodín a ponuky
Štart pre vytvorenie nového typu taskbaru). Veľmi Vás prosím o pomoc.
Rád by som získal informácie o API funkciách pre prácu s resources, spôsob ich volania
vo VB a informácie potrebné pre správny chod funkcie:
loadresource, findresorce, freeresource, updateresource. Chcel by som urobiť malý
lokalizátor, a na to sú potrebné tieto funkcie, v angličtine (MSDN) som čosi porozumel,
ale neviem ako loadnuté resource zobraziť v Image, txt objekte, a ako ich updatovať do
súboru.
Zkoušel jsem přidat bitmapu do menu pomocí API funkce SetMenuItemBitmaps. V normálním menu
to funguje. Jakmile však stejný postup použiji v PopupMenu, obrázek se nezobrazí.