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φ.