ZdrojovΘ k≤dy

Data environmentProgram
Kontrola surfovßnφProgram
Blokovßnφ Internet ExploreruProgram
Editor ikonProgram
Rychl² timerProgram
P°enos soubor∙ po sφtiProgram
DBControlProgram
CryptoAPIProgram
AxGridProgram
Tray iconT°φda
Tabulßtor v RichTextBoxuK≤d
Okno "O aplikaci"K≤d
AddFontResourceAPI
RemoveFontResourceAPI
TextOutAPI
CreateFontAPI

Data environment

P°φklad na praktickΘ vyu₧itφ Data Environment p°i editaci a zobrazovßnφ dat z databßze.
15986 byt∙Kopφrovat

Zp∞t na obsah


Kontrola surfovßnφ

Program zobrazuje vÜechny prohlφ₧enΘ adresy v Internet Exploreru. P°i svΘm ukonΦenφ je ulo₧φ do textovΘho souboru.
15121 byt∙Kopφrovat

Zp∞t na obsah


Blokovßnφ Internet Exploreru

Program umo₧≥uje zadavßt adresy WWW server∙, ke kter²m potom zablokuje p°φstup. Blokovßnφ je provßd∞no pouze pokud program b∞₧φ.
17816 byt∙Kopφrovat

Zp∞t na obsah


Editor ikon

Ukazuje jak vytvo°it editor ikon s n∞kolika zßkladnφmi mo₧nostmi.
22486 byt∙Kopφrovat

Zp∞t na obsah


Rychl² timer

P°φklad ukazuje pou₧itφ dvou funkcφ API, QueryPerformanceCounter a QueryPerformanceFrequency. Tyto umφ Φφst hodnoty high-performance timeru, kter² zvyÜuje mnohokrßt za sekundu svoji hodnotu. Pracujφ vÜak pouze na n∞kter²ch procesorech.
4908 byt∙Kopφrovat

Zp∞t na obsah


P°enos soubor∙ po sφti

Umo₧≥uje p°enos soubor∙ po sφti pomocφ prvku Winsock a protokolu TCP. Umφ spoΦφtat i p°enosovou rychlost.
23812 byt∙Kopφrovat

Zp∞t na obsah


DBControl

Zdrojov² k≤d prvku, kter² usnad≥uje n∞kterΘ operace nad databßzφ MS Access, nap°. vytvo°enφ databßze, komprimaci, opravenφ atd.
19328 byt∙Kopφrovat

Zp∞t na obsah


CryptoAPI

P°φklad demonstruje pou₧itφ Üifer MD2, MD4, MD5 a RC4.
131887 byt∙Kopφrovat

Zp∞t na obsah


AxGrid

Zdrojov² k≤d prvku, m°φ₧ky s mnoha mo₧nostmi. Umo₧≥uje nap°. r∙znΘ druhy fontu v bu≥ce, schopnost editace textu, v²b∞r z vφce mo₧nostφ u jednΘ bu≥ky atd.
279088 byt∙Kopφrovat

Zp∞t na obsah


Tray icon

T°φda (s p°φkladem pou₧itφ) umo₧≥ujφcφ p°idßvat, modifikovat a ovlßdat ikonu v oblasti system tray.
3860 byt∙Kopφrovat

Zp∞t na obsah


Tabulßtor v RichTextBoxu

Chcete-li vytvo°it n∞jak² textov² editor, pou₧ijete pravd∞podobn∞ RichTextBox. Zßkladnφ vlastnostφ textov²ch editor∙ je vÜak takΘ odsazovßnφ textu pomocφ tabulßtoru. Pokud vÜak umφstφte na formulß° vφce prvk∙, klßvesa Tab neodsadφ text, ale zp∙sobφ, ₧e se dalÜφ prvek v po°adφ stane aktivnφm. Jedna z mo₧nostφ je odchytit stisknutφ klßvesy Tab.

Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 9 Then
    RichTextBox1.SelText = Chr(9)
    KeyCode = 0
  End If
End Sub

DalÜφ mo₧nost, bez jedinΘho °ßdku k≤du, je nastavenφ vlastnosti TabStop vÜech ostatnφch prvk∙ na formulß°i na hodnotu False. M∙₧e vßm to p°ipadat trochu zbyteΦn∞ pracnΘ, ale v∞tÜinou kdy₧ vytvß°φte textov² editor, je na formulß°i pouze TextBox (RichTextBox) a spousta prvk∙ ToolBar, kterΘ m∙₧ete ignorovat, aktivnφmi se nemohou stßt za pomoci klßvesy Tab.

Zp∞t na obsah


Okno "O aplikaci"

Pan Ev₧en èrßmek nßm zaslal jednoduch², ale velmi ·Φeln² zp∙sob zobrazenφ okna "O aplikaci". K vyvolßnφ tohoto okna m∙₧ete pou₧φt funkci API ShellAbout. Nechcete-li vÜak pou₧φvat funkce API, mo₧nß si vystaΦφte s funkcφ MsgBox.

MsgBox "Verze  " & App.Major & "." & App.Minor & "." & App.Revision & vbLf _
    & "Autor programu Ev₧en èrßmek" & vbLf _
    & "Sprßvce poΦφtaΦov²ch dat" & vbLf _
    & vbLf _
    & "Hot line:   0608 811000" & vbLf _
    & "E-mail: esramek@hotmail.com" & vbLf _
    & "http://www.volny.cz/sramek" & vbLf _
    & vbLf _
    & "Copyright ⌐ 2001 Ev₧en èrßmek" & vbLf _
    & String(35, "_") & vbLf, 64, "Informace o aplikaci - " & App.Title

Zp∞t na obsah


AddFontResource

Nainstaluje do systΘmu novΘ pφsmo ze zadanΘho souboru.

Pokud funkce skonΦφ bez chyby, vrßtφ poΦet p°idan²ch pφsem, skonΦφ-li s chybou, vrßtφ hodnotu 0.

Po ·sp∞ÜnΘm p°idßnφ fontu by m∞l program informovat vÜechny ostatnφ okna zprßvou WM_FONTCHANGE (&H1D&). Zprßva by m∞la b²t zaslßna funkcφ SendMessage s parametrem hWnd nastaven²m na HWND_BROADCAST (&HFFFF&).

Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" _
  (ByVal lpFileName As String) As Long

lpFileName
Cesta k souboru s pφsmem (FON, FTN, TTF nebo FOT).

Dim ret As Long

ret = AddFontResource("C:\font.ttf")
If ret <> 0 Then
  SendMessage HWND_BROADCAST, WM_FONTCHANGE, 0, 0
  MsgBox "Font p°idßn"
End If

Zp∞t na obsah


RemoveFontResource

ZruÜφ (odinstaluje) ze systΘmu pφsmo podle nßzvu zadanΘho souboru.

Pokud funkce skonΦφ s chybou, vrßtφ hodnotu 0, jinak jakΘkoliv Φφslo r∙znΘ od 0.

Po ·sp∞ÜnΘm odstran∞nφ fontu by m∞l program informovat vÜechny ostatnφ okna zprßvou WM_FONTCHANGE (&H1D&). Zprßva by m∞la b²t zaslßna funkcφ SendMessage s parametrem hWnd nastaven²m na HWND_BROADCAST (&HFFFF&).

Declare Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" _
  (ByVal lpFileName As String) As Long

lpFileName
Cesta k souboru s pφsmem (FON, FTN, TTF nebo FOT).

Dim ret As Long

ret = RemoveFontResource("C:\font.ttf")
If ret <> 0 Then
  SendMessage HWND_BROADCAST, WM_FONTCHANGE, 0, 0
  MsgBox "Font odebrßn"
End If

Zp∞t na obsah


TextOut

VypφÜe text na zvolenΘ mφsto zadanΘ bodem x a y aktußlnφm pφsmem.

Pokud funkce skonΦφ s chybou, vrßtφ hodnotu 0, jinak jakΘkoliv Φφslo r∙znΘ od 0.

Declare Function TextOut Lib "gdi32" Alias "TextOutA" _
  (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _
   ByVal lpString As String, ByVal nCount As Long) As Long

hdc
Device kontext grafickΘho za°φzenφ, na kterΘ bude text vykreslen.

x
Sou°adnice bodu na ose X.

y
Sou°adnice bodu na ose Y.

lpString
╪et∞zec k vykreslenφ.

nCount
PoΦet znak∙ v °et∞zci.

Dim sTmp As String

sTmp = "Text vypsan² na sou°adnicφch 1,1"
TextOut Form1.hdc, 1, 1, sTmp, Len(sTmp)

Zp∞t na obsah


CreateFont

Funkce vytvo°φ pφsmo (logical-font) podle zadan²ch parametr∙, kter² m∙₧e b²t potom pou₧it k vykreslenφ textu na grafickΘ za°φzenφ. Po skonΦenφ pou₧φvßnφ pφsma musφ b²t zruÜeno funkcφ API DeleteObject.

Pokud funkce skonΦφ s chybou, vrßtφ hodnotu 0, jinak vrßtφ handle vytvo°enΘho pφsma.

Deklarace v API Vieweru nenφ moc vhodnß vzhledem k pojmenovßnφ parametr∙, proto si ji trochu upravφme.

Declare Function CreateFont Lib "gdi32" Alias "CreateFontA" _
  (ByVal nHeight As Long, ByVal nWidth As Long, ByVal nEscapement As Long, _
   ByVal nOrientation As Long, ByVal fnWeight As Long, _
   ByVal fdwItalic As Long, ByVal fdwUnderline As Long, _
   ByVal fdwStrikeOut As Long, ByVal fdwCharSet As Long, _
   ByVal fdwOoutputPrecision As Long, ByVal fwdClipPrecision As Long, _
   ByVal fdwQuality As Long, ByVal fdwPitchAndFamily As Long, _
   ByVal lpszFace As String) As Long

nHeight
V²Üka bu≥ky pφsma v logick²ch jednotkßch, znßm²ch jako em. Pokud je rovna 0, je pou₧ita aktußlnφ velikost.

nWidth
Pr∙m∞rnß Üφ°ka pφsma v logick²ch jednotkßch. Pokud je rovna 0, funkce spoΦφtß nejv²hodn∞jÜφ hodnotu.

nEscapement
Specifikuje ·hel (v desetinßch stupn∞) mezi zßkladnφ Φßrou, na kterou je vykresleno pφsmo a x-ovou sou°adnicφ kreslφcφho za°φzenφ. Na systΘmech Windows 9x by m∞la b²t tato hodnota stejnß s parametrem nOrientation.

nOrientation
Specifikuje ·hel (v desetinßch stupn∞) mezi zßkladnφ Φßrou, na kterou je vykreslen ka₧d² jednotliv² znak a x-ovou sou°adnicφ kreslφcφho za°φzenφ.

fnWeight
èφ°ka fontu v intervalu 0 a₧ 1000.

Const FW_DONTCARE = 0 'standardnφ Üφ°ka
Const FW_THIN = 100
Const FW_EXTRALIGHT = 200
Const FW_LIGHT = 300
Const FW_NORMAL = 400
Const FW_MEDIUM = 500
Const FW_SEMIBOLD = 600
Const FW_BOLD = 700
Const FW_EXTRABOLD = 800
Const FW_HEAVY = 900

fdwItalic
Pokud je 0, je pφsmo normßlnφ, nenulovß hodnota nastavφ kurzφvu.

fdwUnderline
Pokud je 0, je pφsmo normßlnφ, nenulovß hodnota nastavφ podtr₧enφ.

fdwStrikeOut
Pokud je 0, je pφsmo normßlnφ, nenulovß hodnota nastavφ Ükrtnutφ.

fdwCharSet
Znakovß sada

Const ANSI_CHARSET = 0
Const DEFAULT_CHARSET = 1
Const GB2312_CHARSET = 134
Const HANGEUL_CHARSET = 129
Const CHINESEBIG5_CHARSET = 136
Const OEM_CHARSET = 255
Const SYMBOL_CHARSET = 2
Const SHIFTJIS_CHARSET = 128

'pouze pro Windows 9x
Const ARABIC_CHARSET = 178
Const BALTIC_CHARSET = 186
Const EASTEUROPE_CHARSET = 238
Const GREEK_CHARSET = 161
Const HEBREW_CHARSET = 177
Const JOHAB_CHARSET = 130
Const MAC_CHARSET = 77
Const RUSSIAN_CHARSET = 204
Const TURKISH_CHARSET = 162
Const THAI_CHARSET = 222

fdwOutputPrecision
Nastavuje v²slednou p°esnost. Ta definuje jak je vytvo°eno urΦitΘ pφsmo, proto₧e zadanΘ po₧adavky nenφ v₧dy mo₧nΘ s nainstalovan²mi pφsmy ve Windows splnit.

Const OUT_DEFAULT_PRECIS = 0
'standardnφ p°esnost
Const OUT_DEVICE_PRECIS = 5
'pou₧ije pφsmo za°φzenφ, pokud je v systΘmu vφce pφsem se stejn²m nßzvem
Const OUT_RASTER_PRECIS = 6
'pou₧ije rastrovΘ pφsmo, pokud je v systΘmu vφce pφsem se stejn²m nßzvem
Const OUT_TT_ONLY_PRECIS = 7
'pou₧ije pouze pφsmo TrueType
Const OUT_TT_PRECIS = 4
'pou₧ije TruType pφsmo, pokud je v systΘmu vφce pφsem se stejn²m nßzvem

'pouze Windows NT a 2000
Const OUT_OUTLINE_PRECIS = 8
'zvolφ TrueType pφsmo

fdwClipPrecision
P°esnost o°φznutφ pφsma.

Const CLIP_DEFAULT_PRECIS = 0
Const CLIP_EMBEDDED = 128
Const CLIP_LH_ANGLES = 16
Const CLIP_STROKE_PRECIS = 2

fdwQuality
Kvalita, s jakou je pφsmo vytvo°eno.

Const ANTIALIASED_QUALITY = 4
Const DEFAULT_QUALITY = 0
Const DRAFT_QUALITY = 1
Const NONANTIALIASED_QUALITY = 3
Const PROOF_QUALITY = 2

fdwPitchAndFamily
èφ°ka a druh pφsma.

Const DEFAULT_PITCH = 0
'standardnφ Üφ°ka
Const FIXED_PITCH = 1
'pevnß Üφ°ka
Const VARIABLE_PITCH = 2
'prom∞nlivß Üφ°ka
Const FF_DECORATIVE = 80
'dekorativnφ pφsmo
Const FF_DONTCARE = 0
'neznßm² druh pφsma
Const FF_ROMAN = 16
'pφsma s variabilnφ Üφ°kou typu Roman, nap°. MS Serif
Const FF_SCRIPT = 64
'pφsma napodobujφcφ psacφ pφsmo
Const FF_SWISS = 32
'pφsma s variabilnφ Üφ°kou, nap°. MS Sans Serif

lpszFace
Nßzev pφsma.

Dim hFont As Long, hOldFont As Long, ret As Long, h As Long

h = -MulDiv(20, GetDeviceCaps(Form1.hdc, LOGPIXELSY), 72) 'v²Üka fontu 20
hFont = CreateFont(h, 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, _
                   CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH, "Arial")

hOldFont = SelectObject(Form1.hdc, hFont)
TextOut Form1.hdc, 100, 100, "Text vytvo°en² nov²m pφsmem", 27

'vrßtφme zp∞t p∙vodnφ pφsmo a sma₧eme vytvo°enΘ
SelectObject Form1.hdc, hOldFont
DeleteObject hFont

Zp∞t na obsah