PowerBASIC Snippets

Select a snippet (by title) from the categorized list below.

Many of the snippets use this resource file



         .Example Snippet
         .PBWin9/10 Include

         .Reference Materials
                  .API - Commonly Used (by me)
                  .API - Longer List (Desc only)
                  .API - Short List (Most Useful, with snippets)
                  .Complete Control List
                  .Data Types
                  .Default Control Styles (5 Line Separation)
                  .Default Control Styles (Equate Versions)
                  .Default Controls (One of Each)
                  .Dialog Units
                  .Message Structure
                  .MSDN links
                  .Notifications, Messages, Styles (by Common Control)
                  .Notifications, Messages, Styles (by Sys Object)
                  .Pointer Discussion
                  .PowerBASIC Command Syntax (PBWin10)
                  .PowerBASIC Command Syntax (PBWin9)
                  .PowerBASIC Keywords
                  .Programmer Tools
                  .Styles Constraints (by Common Control)
                  .TextBox Style
                  .Virtual-Key Codes
                  .Web Sites of Interest
                  .Window Styles
                  .WM_ Messages (Arguments, Summary, Descriptions)
                  .Notifications, Messages, Styles (unsupported Common Controls)

         API Functions
                  GetWindowText Test
                  WM_GetDlgCode I
                  WM_GetDlgCode II
                  WM_GetDlgCode III

                  .Control List
                  .Unicode Notes
                  Is %Unicode Defined
                  WM_DrawItem Test - Which Controls Send it
                  WM_NotifyFormat Test - Which Controls Send It

         Application Features
                  ..X Commands
                  3-Levels of Dialogs
                  About Dialog
                  Allow Single Instance of Application
                  Animated Status Icon in Dialog (Thread Version)
                  Backup Strategy
                  Browse For Folder
                  Cancel Closure (Capture Alt-F4 and "X" Button)
                  Capture F1
                  Center on Screen
                  Change Style at Runtime I
                  Change Style at Runtime II
                  Close And Restart An App I
                  Close and Restart An App II
                  Color on Display Font
                  Context Menu
                  Create Required Subfolders If Do Not Exist
                  Create SendTo Shortcut
                  Desktop Shortcut
                  Dialog Set Text Test
                  Dialog Units
                  Disable Elements of the Title Bar
                  Display ASCII Table
                  DragDrop File on Application
                  Drop and Run App
                  Enumerate INI Entries I
                  Enumerate INI Entries II
                  File/Folder Browser I
                  File/Folder Browser II
                  File/Folder Browser III
                  Find and Replace
                  Force WM_Sizing on Startup
                  gbCodeInside - DLL Version
                  Get Caption Height
                  Get Daily Message
                  Hide a Window
                  Interaction Between Main/Secondary Dialog
                  InterProcess Communication - App A
                  InterProcess Communication - App B
                  Keep Caption Blue
                  Keep on Top
                  Limit Min/Max Size
                  Maintain Aspect Ratio When Resizing (WM_GetMinMaxInfo)
                  Maintain MRU List
                  Maximize Window
                  Message Pump - Dialog DoEvents
                  Minimize/Maximize Programatically
                  Mouse Cursor - Changing
                  Move Dialog Without Caption
                  MRU - Simple I
                  MRU - Simple II
                  MsgBox$ - Confirmation of Action
                  MsgBox$ - Modeless
                  MsgBox$ - Programmatically Close
                  Online Update #1 - Check For Updates
                  Online Update #1 - Check for Updates (w/Progress)
                  Online Update #2 - gbOnlineUpdate.exe
                  Open Help at a Topic
                  Open Help Files (.chm or .hlp)
                  Optional DLL
                  Path from Link
                  Please Wait ... Dialog
                  Poor Man's MDI I
                  Poor Man's MDI II
                  PreProcessor for Compiler
                  Print the Active Dialog
                  Print the Screen
                  Register Hotkey
                  Resize Control When Form Resizes
                  Resource File (Accessing)
                  Resource File (Create File-Based Resources)
                  Resource File (Enumerate Items)
                  Resource File (Files/Text/Number Resources)
                  Resource File (Get Bitmap Dimensions) I
                  Resource File (Get Bitmap Dimensions) II
                  Resource File (Get ICON Dimensions)
                  Resource File (Save Resource to File)
                  Run DOS Commands
                  Run Embedded DLL
                  Save/Get Settings using INI file
                  Scroll Client Area of Dialog
                  Select Code For Compilation
                  Set Caption
                  Set Z-Order
                  Splitter Bars
                  Splitter Bars (Minimal)
                  Splitter Bars (Minimal, Sub-Classed)
                  Splitter Bars II
                  Splitter Bars II (Minimal, Sub-Classed)
                  Splitter Bars III
                  Start External App
                  Status Icon in Dialog - PBWin10
                  Status Icon in Dialog - PBWin9
                  Test for Minimized/Maximized
                  Toolbar Only Dialog
                  Upside Down Window I
                  Upside Down Window II
                  Upside Down Window III - Jose
                  Vertical Form Accessible By Scrolling
                  View Stack Content

                  .Dimension An Array
                  .Pass Array to Sub/Function
                  Array Read/Write I
                  Array Read/Write II
                  Check If Array Is Dimensioned
                  Clear An Array
                  Custom UDT Sort
                  Cycle Through Array
                  External App Handle
                  Fast Array Copy
                  Insert Specific Element
                  Join Numeric Array Elements into a Single String
                  Join String Array Elements into a Single String
                  Min/Max Value of Array
                  Randomly Shuffle
                  Read/Write Array Data to File
                  Remove Duplicates
                  Remove Specific Element
                  Reverse An Array
                  Search (Binary)
                  Search (Scan) Numeric Array
                  Search (Scan) String Array
                  Sort Numeric Array
                  Sort String Array

         Assembly Language
                  ASM Code
                  Convert Binary File to Inline Assembly Statements
                  String Comparison I - Paul Dixon
                  String Comparison II
                  String Comparison III

                  .Callback Return Values
                  Callback Skeleton
                  CB Functions
                  Control Callback
                  Custom Message
                  Lo/Hi Word Extraction
                  Pointers - Retreiving Structures from Messages
                  Pointers - Sending Structures with Messages

                  Copy Image To Clipboard
                  Copy Part of Screen To Clipboard
                  Copy Union of Windows to Clipboard

         Controls - .Basic Examples
                  . One of Everything
                  . Syntax Summary
                  All Controls
                  Calendar Control - Full
                  Up-Down Control

         Controls - .Customization
                  .Owner Draw Reference
                  .Custom Draw Reference
                  Owner Draw - Button
                  Custom Draw - Button

         Controls - .Techniques
                  All Controls - Drag Control To New Location
                  All Controls - Drag Control To New Location (PBWin10)
                  All Controls - Explode a Control
                  All Controls - Get/Sect Focus
                  All Controls - Is Scrollbar Visible
                  All Controls - Set Child Window as Top-Level
                  All Controls - Set TAB Order
                  All Controls - SubClassing
                  All Controls - Tooltip
                  All Controls - Variable Tooltip
                  Button - OwnerDrawn (Kev Peel)
                  Button - OwnerDrawn I
                  Button - OwnerDrawn II
                  Buttons - Programmatically Click
                  Calendar Control - Calendar Only (Context)
                  Calendar Control - Calendar Only (Dialog)
                  ComboBox - Combo Select I - Gary
                  ComboBox - Combo Select II - Gary
                  ComboBox - Combo Select III - Borje
                  ComboBox - Combo Select IV - Gary
                  ComboBox - Hide Selection
                  ComboBox - List Manager
                  ComboBox - Maintain Selection on ComboBox
                  ComboBox - Maintain Selection on ComboBox - Semem
                  ComboBox - Maintain Selecton on ComboBox (Hide When Lost Focus)
                  ComboBox - ReSize Dropdown List To Fit Data
                  ComboBox - Set BG Color of ComboBox Edit Control
                  ComboBox - Subclass Edit Control
                  Graphic Control - Anti-Flicker
                  Graphic Control - Click on Control
                  Graphic Control - Load Image from File
                  Graphic Control - Load Image from Resource (PBWin10)
                  Graphic Control - Load Image from Resource File *.PBR
                  Graphic Control - Maintain Virtual Position
                  Graphic Control - Toggle Between Two Images
                  Graphic Control - Virtual Graphic Test
                  ImgButton - Change Image in ImgButton When Pressed I
                  ImgButton - Change Image in ImgButton When Pressed II
                  InputBox$ - Center Over Application
                  InputBox$ - Resize InputBox$ - Hooking
                  Label - Active URL
                  Line - Set Background Color (Undocumented)
                  Line - Set Background Color
                  ListBox - Add CheckBoxes
                  ListBox - AutoSize to Content
                  ListBox - Drag Items To New Location
                  ListBox - Drag Items to New Position
                  Listbox - Fill Right From Left
                  ListBox - Find Text and Set at Top of ListBox
                  ListBox - MultiColumn ListBox
                  ListBox - OwnerDrawn Colored ListBox
                  ListBox - Scroll Specified #Lines
                  ListBox - Smooth Loading
                  ListBox - Synchronized Scroll
                  ListBox - Two Columns
                  ListBox = Used As Property Dialog
                  MsgBox - Center Over Application
                  MsgBox - Custom Sound/Icon
                  MsgBox - Resize MsgBox
                  Progress Bar - 10 Bar ProgressBar
                  Progress Bar - Poor Man's Progress Bar (in Satusbar) II
                  Progress Bar - Poor Man's Progress Bar (in Statusbar) I
                  Progress Bar - Within Statusbar
                  Progress Bar - Within Statusbar II
                  Progress Bar - Within StatusBar III
                  TAB - Change Icon on Page
                  Tab - Detect Double Click on Tab Icon
                  Tab - Disable Page
                  TAB - Detect Right Mouse Click on TAB Header
                  TAB - Drag Tab Pages to New Location
                  TAB - Move TAB Positions
                  TaskBar - Detect Changes in TaskBar
                  Taskbar - Determines if AutoHide is On
                  Taskbar - Monitor Presence of TaskBar
                  TaskBar - Taskbar Messages
                  Toolbar - Built-In + User Icons (from files)
                  Toolbar - Built-In Icons (DDT)
                  Toolbar - Built-In Icons (SDK)
                  Toolbar - DoubleClick
                  Toolbar - Drag Buttons on Toolbar I - Simple
                  Toolbar - Drag Buttons on Toolbar II - Shift-Drag
                  Toolbar - Drag Buttons on Toolbar III - non-Shift-Drag
                  Toolbar - Dropdown Buttons
                  Toolbar - Dual TOP Toolbars (Top-Most Method)
                  Toolbar - Dual TOP Toolbars (Wrap Method)
                  Toolbar - Dynamic Images
                  Toolbar - Enabled/Disabled ImageLists
                  Toolbar - Fixed Width
                  Toolbar - Get Focus
                  Toolbar - Gray Button vs Disable Button
                  Toolbar - Save Toolbar Changes
                  Toolbar - Save Toolbar Changes - Using Customization Dialog
                  Toolbar - Tooltips (DDT)
                  Toolbar - Tooltips (SDK)
                  Toolbar - Transparent I
                  Toolbar - Transparent II
                  Toolbar - Transparent III
                  Toolbar - Transparent IV
                  Toolbar - Transparent V

         Controls - Edit Controls
                  ..Edit Controls Overview
                  .64K Limit Issues
                  .API Summary (Edit Controls)
                  .Compilable Edit Control Example (Skeleton)
                  .Edit Control vs RichEdit Control Messages
                  AutoHighlight Text
                  Avoid Highlighting When Get Focus - TextBox - No SubClassing
                  Customize Context menu (Textbox)
                  Detect Enter Key in MultiLine TextBox
                  Detect Enter Key in SingleLine TextBox
                  Find Text
                  Flicker Control
                  Force Case on Text Input
                  Get All Text
                  Get Caret Location
                  Get Characters M-N
                  Get Current Line Number
                  Get Current Line Text
                  Get Line Count
                  Get Line M Text
                  Get Line M-N Text
                  Get Selected Text / Selection Boundary
                  Get Text of TopMost Visible Line
                  Maintain Selection on TextBox (Hide When Lost Focus)
                  Multiple TextBox SubClasssing
                  Remove Highlighting of TextBox on Startup
                  Replace All Text (Set Text)
                  Replace Current Line
                  Replace Line M
                  Replace Lines M-N
                  Replace Chars M-N
                  Replace Selection / Insert At Caret
                  Select All Text
                  Select Chars M-N
                  Select Current Line
                  Select Line M
                  Select Lines M-N
                  Select None (UnSelect All)
                  Set Margin
                  Set Text Limit
                  SubClass Many
                  TextBox - WordWrapping
                  Undo/ Redo
                  Unselect Text

         Controls - ListView
                  Colored Lines
                  Colored Lines (non-OwnerDraw)
                  Context menu
                  File/Folder Search Test - Virtual ListView
                  File/Folder Search Test II - Virtual ListView
                  Identify Selected Item (or Not)
                  LabelTip - I - Built-In InfoTip
                  LabelTip - II - Built-In InfoTip Enhanced
                  LabelTip - III - Tooltip Control
                  Last ListView Row Selected
                  List Files in ListView
                  Outlook as Posted
                  Outlook Listview Sizing
                  Outlook ListView Sizing II
                  OutLook ListView Sizing III
                  Outlook ListView Sizing IV
                  Outlook ListVIew Sizing V
                  Outlook ListView Sizing VI
                  Outlook ListView Sizing VII
                  Prevent Resizing of Column Headers
                  Set Cell Colors of Listview
                  Set Top Item Of ListView
                  Sizing I
                  Sizing II
                  Sort Arrows
                  Sort Columns
                  Synchronized Scrolling I - Kev Peel
                  Synchronized Scrolling II - Pierre
                  Synchronized Scrolling III - Pierre Modified
                  Synchronized Scrolling IV - More DDT
                  Synchronized Scrolling V - Virtual
                  Synchronized Scrolling VI - Non-SubClass - Pierre
                  Synchronized Scrolling VII - Non-SubClass - MCM
                  Virtual ListView
                  Width Test

         Controls - RichEdit
                  .3 Control Versions
                  .64K Limit Issues
                  .API Summary
                  .Compilable RichEdit Example (Skeleton)
                  .Compilable RichEdit Example (Smaller Skeleton)
                  .RichEdit vs Edit Control Messages
                  .Shortcut Keys
                  .Usage Summary - RichEdit Control
                  AutoHighlight Text
                  Basic 1: Get Text/Boundaries: AllText, Selection, Caret, Current Line, LineM, LinesM-N, CharsM-N
                  Basic 2: Replace Text: All, Selection, Current Line, LineM, LinesM-N, CharsM-N
                  Basic 3: Select Text: All, Current Line, LineM, LinesM-N, CharsM-N
                  Character To Left of Cursor
                  Context menu (RichEdit control)
                  Ctrl-V Capture via Subclassing
                  Cycle Through RichEdit Lines
                  Display Line Numbers/Colors
                  Enable Hyperlinks
                  Export To HTML
                  Export to HTML (w/TAB Expansion)
                  Fast Syntax Highlighter - Borje
                  Find Replace with Richedit
                  Flicker Control
                  Get Bottom Visible Line#
                  Get Characters m-n
                  Get Line Count
                  Get Text of TopMost Visible Line
                  Get/Save RTF Content
                  Intellisense w/Syntax Highlighting
                  Keep Selection When Lose Focus - RichEdit
                  Line Numbers in RE I
                  Line Numbers in RE I
                  Multiple RichEdit "Selections" I
                  Multiple RichEdit "Selections" II
                  Original Syntax Highlighter - Borje
                  Prevent Paste
                  Print RTF (Color)
                  RE Stream
                  Rich Edit - Protected Text
                  RichEdit - Keep Selection II When Lost Focus - RichEdit
                  RichEdit - Keep Selection III When Lose Focus - Dominic
                  RichEdit from Borje
                  Save/Restore Position
                  Sequentially Highlight Words (Of Selection)
                  Set Text Limit
                  Set Top Line
                  Setting TabStops
                  Spell Check (Single Word)
                  Spell Check (Source Code Strings/Comments)
                  Spell Check (Using Word Object)
                  Synchronized Scroll (2 RichEdit Controls)
                  Syntax Highlighting
                  Syntax Highlighting (Visible Lines Only)
                  Syntax Highlighting (Visible Lines Only)
                  TAB Capture - Subclass (KeyDown)
                  TAB Capture - Subclass (WM_GetDlgCode)
                  TAB Capture - WM_NextDlgCtl
                  Unselect Text

         Controls - Scintilla
                  Example00: Introduction
                  Example01: Minimal Code
                  Example02: Messages - Controlling Scintilla
                  Example03: Strings In Messages
                  Example04: Barely Above Minimal Code
                  Example05: Template (Shorter)
                  Example06: Template (Longer)
                  Example07: Notifications
                  Example08: Caret Features
                  Example09: Cursor Shape
                  Example10: Zoom
                  Example11: Replace PopupMenu
                  Example12: Styles
                  Example13: Display Style Info
                  Example14: Fonts
                  Example15: Margins
                  Example16: Colors
                  Example17: Find & Replace
                  Example18: Replace Text Using Targets
                  Example19: RegExp Find
                  Example20: Create URL Hotspot
                  Example20B: Create URL Hotspot - Single Line Version
                  Example21: Greenbar
                  Example22: Greenbar II
                  Example23: Greenbar III
                  Example24: Markers
                  Example25: Multiple Views
                  Example25B: Multiple Views (Simple)
                  Example26: Indentation Guides
                  Example27: White Space and End of Line Characters
                  Example28: Printing
                  Example29: Keyboard Commands
                  Example30: Undo/Redo
                  Example31: Dirty Document Handler
                  Example32: Cut/Copy/Paste
                  Example33: Scrolling and AutoScroll
                  Example34: Count/Position Information
                  Example35: Selections
                  Example36: Get/Set Text Actions
                  Example37: Line Wrapping
                  Example38: Indicators
                  Example39: Call Tips
                  Example40: Brace Highlighting
                  Example41: AutoCompletion
                  Example42: Intellisense
                  Example43: Annotations
                  Example44: Direct Access (Speed Tip)
                  Example45: Lexer - Built-In
                  Example46: Lexer - Container (Simple)
                  Example47: Lexer - Container (Advanced)
                  Example48: Lexer - Create External DLL ... on hold
                  Example49: Lexer - Using External DLL ... on hold
                  Example50: Folding - Built-In
                  Example51: Folding - Container (Simple)
                  Example52: Folding - Container (Advanced)
                  Example53: Notification Monitoring
                  Example54: AutoIndentation
                  Example55: Bookmarks
                  Example56: Load Text into Scintilla Control
                  Reference: LexPB.cxx
                  Reference: LexVB.cxx
                  Reference: PureBasic Custom Lexer
                  Reference: ScintillaBase.cxx

         Controls - TreeView
                  .Compilable TreeView Example

                           Change Style At RunTime
                           Cut/Copy/Paste/Delete Nodes (Context Menu)
                           Delete Children of Node (including sub-nodes)
                           Delete Node + Children (including sub-nodes)
                           Retrieve Incremental Search String (WM_User)
                           Search TreeView - Limited to Parent Sibling List
                           Edit Tree Label (in-place)
                           Expand/Collapse Node
                           Expand/Collapse Node (including sub-nodes)
                           Save/Restore Tree
                           Sort Children of Node (no sub-nodes)
                           Sort Children of Node + SubNodes
                           Turn Icon Display On/Off

                           Does Node Exist
                           Is Node a Parent
                           Node Child Count
                           Node Child Count (including sub-nodes)

                  Traverse/Walk Tree
                           Children of Node (return last child)
                           Children+SubNodes of Node (return last node)
                           Node to End of Tree (return last node)
                           One Node Down

                  .Compiler Directives
                  Error List
                  Monitor Messages - Callback (GetMsgText)
                  Monitor Messages - Console Method
                  Monitor Messages - Console Method (WinMsg)
                  Place Log File Anywhere

         Dialogs (built-in)
                  Browse Folders Dialog
                  Color Dialog
                  Font Dialog
                  Open File Dialog
                  Printer Dialog
                  Save File Dialog

                  .Background DLL Information
                  .Calling Conventions
                  .Declare Syntax
                  Create - DLL (LibMain)
                  Create - DLL (PBLibMain)
                  Create - Simple DLL
                  Create - Very Simple DLL
                  Indirect Calling (Internal Procedure)
                  RunTime DLL
                  Use - DLL (LibMain)
                  Use - DLL (PBLibMain)
                  Use - Simple DLL
                  Use - Very Simple DLL

                  Alternate DIR$ Syntax
                  Backup/Restore a File
                  Combine Path/File Parts
                  Confirm Overwrite Of a File
                  Convert Relative Path to Full Path
                  Create Folders
                  Create Large Empty File
                  CVL Test
                  Delete Folder & Sub-Folders
                  Determine If File Is Open
                  Determine If File or Folder Exists
                  Extract Parts of PathName
                  File Exists
                  File Exists - zExist
                  File List Using PathMatchSpec
                  File Search
                  File Size from DirData
                  File/Folder Browser
                  File/Folder List
                  File/Folder List - Speed Test
                  Get Date/Time of File
                  Get File Attributes
                  Get File Size
                  Get Mode of Open File
                  Hex Display of String/File
                  List Drive Letters (DDT only)
                  List Drive Letters (with type)
                  List Files/Folders
                  List Files/Folders (Recursive)
                  List Files/Folders in TreeView/ListView
                  Move to Recycle BIn
                  Open DOS at Path
                  Open Explorer at Path
                  Open Window at Path
                  Read Entire Text File Into Array
                  Read Entire Text File Into String
                  Read First n Lines of Text File Into Array
                  Read MFT - Pierre
                  Read MFT - Slater
                  Read Text File, One Line At a Time
                  Read/Write Entire Numeric Array
                  Send File/Folder to Recycle Bin
                  Use Temp Directory
                  Write/Read UDT To/From File

                  Enum Font List
                  Enum Font List II - EnumFontFamilies
                  Enum Font List III - EnumFontFamilies
                  Enum Font List III - EnumFonts
                  Font End Demo
                  LED Font
                  Make Font

                  New Child

                  .Color Conversions - RGB/BGR/Long
                  .Color Notation
                  .Graphics Links at MSDN
                  .Graphics Overview - PowerBASIC

                  .Image Formats
                           .BMP File Format
                           .GIF File Format
                           .JPG File Format
                           .PNG File Format

                           3D Modelling I - Minimal Code
                           3D Modelling II - Minimal Code + Read From File

                           Ascii Art
                           Matrix Waterfall Graphics
                           Mosaic Stereogram
                           Picture Art
                           Text Stereogram

                  Aspect Ratio
                           Largest AR Rectangle
                           Maintain Aspect Ratio of Client I
                           Maintain Aspect Ratio of Client II

                           Array Overlay on bmp$
                           Convert Image to DATA Statements
                           Convert To GrayScale
                           Count Colors
                           Display Bitmap
                           Get Bitmap Color Depth (From *.bmp File)
                           Get Bitmap Dimensions (From *.bmp File)
                           Get Image Sizes - 4 Standard System Types
                           Get Resource Bitmap Size
                           Load Image From File (DDT)
                           Modify Image Using Graphic Get/Set Bits
                           Pixel Manipulation - DIM ... AT
                           Pixel Manipulation (Bits String)
                           Pixel Manipulation (show AND/MASK bits)
                           Resize Image - Maintain Aspect Ratio (PBWin10)
                           Resize Image - Maintain Aspect Ratio (PBWin9)
                           Zero 4th Byte in Bit String

                  BMP Tutor Series (API)
                           .BMP Tutor Reference
                           BMP Tutor - API Copy Image From One Control to Another
                           BMP Tutor - Convert bmp$ --> Colors(x,y)
                           BMP Tutor - Convert Colors(x,y) --> bmp$
                           BMP Tutor - Create *.bmp by Code
                           BMP Tutor - Manually Create --> hDIB
                           BMP Tutor - Read *.bmp (file) --> hBMP (Get/Put)
                           BMP Tutor - Read *.bmp (file) --> hBMP (LoadImage)
                           BMP Tutor - Read *.bmp (file) --> hDIB (LoadImage)
                           BMP Tutor - Read *.bmp (resource) --> hBMP (LoadImage)
                           BMP Tutor - Ref-01 API/Data Structure Reference
                           BMP Tutor - Ref-02 Bitmap Types: DIB, DDB, and DIB Section
                           BMP Tutor - Ref-03 PowerBASIC Bitmap Options: Load/Display/Edit/Save
                           BMP Tutor - Ref-04 DIB Bitmap File Overview
                           BMP Tutor - Ref-05 Commonly Used API
                           BMP Tutor - Ref-06 Padding Calculations
                           BMP Tutor - Ref-07 Load OEM Bitmaps
                           BMP Tutor - Ref-08 Load OEM Icons
                           BMP Tutor - Ref-09 Determine Type of Bitmap
                           BMP Tutor - Ref-10 Delete/Release DC
                           BMP Tutor - Ref-11 Extracting Image Color Data
                           BMP Tutor - Ref-12 Color Arrays and Bistrings
                           BMP Tutor - Ref-13 Copy DC to DC (BitBlt)
                           DIB Section

                           Adjust Color Dialog - Equate Arrays
                           Adjust Color Dialog - Fixed Equates
                           Color Swap
                           Fast GetPixel From Screen
                           Get Color Anywhere On Screen - Get and Keep DC
                           Get Color Anywhere On Screen - Get And Release DC
                           Get RGB Speed Test

                           Graphic Window
                           Load 2 Graphic Controls At One Time
                           Load Image/ImageX Controls (from .pbr)
                           Load ImgButton/ImgButtonX Controls (from .pbr)
                           Load JPG/GIF Images (ListView)

                  Convert Bitmap to Icon
                           Convert hBMP to hIcon (B&W)
                           Convert hBMP to hIcon (Color)
                           Convert hBMP to hIcon (Dixon)
                           Convert hBMP to hIcon (Gary+Paul)

                           Cross Hatch Lines
                           Focus Rectangle - Over Dialog, API
                           Focus Rectangle - Over Dialog, Persistent, Manually Draw Points
                           Focus Rectangle - Over Dialog, Persistent, OffsetRect API
                           Focus Rectangle - Over Graphic Control, DDT
                           Free Style Line Drawing (Simulated)

                           Falling Sand

                           Gradient DDT II
                           Gradient Fill
                           Gradient Fill I
                           Gradient Fill II
                           Gradient Fill III
                           Gradient Fill IV

                           Animated Taskbar Icon
                           Animated Taskbar Icon II
                           Animated Taskbar Icon III
                           Built-In Icons
                           Built-In Icons II
                           Extract Icon
                           Get Icon Dimensions (Resource Image)
                           Icon - gbSnippets Logo
                           Icon Extractor
                           Load Icon

                  Layered Windows
                           Basic Example
                           Control on Transparent Dialog
                           Draw Directly on on Transparent Dialog
                           Transparency Test
                           Transparent Color Keying
                           Two Dialog Layers - Color Key + Mouse Effect
                           Two Dialog Layers - Just Transparency

                           Region of Interest
                           Region of Interest II

                  Non-Rectangular Dialogs
                           Un-Square Dialog Holes VI - CreateEllipticalRgn
                           Un-Square Dialog I - CreateEllipticalRgn
                           Un-Square Dialog III - CreatePolygonRgn
                           Un-Square Image IV - CreateEllipticalRgn
                           Un-Square Image V - CreateEllipticalRgn

                           Plot Data

                           Bounding Box for Rotated Image
                           Flip V/H Speed Test
                           Flip Vert/Horz
                           PlgBlt I
                           PlgBlt II
                           Pointer VS of Rotate
                           Rotate Bitmap
                           Rotate Bitmap II
                           Rotate Bitmap II
                           Rotate Bitmap IV
                           Rotate Bitmap V - World Transformations
                           Rotate Image w/OpenGl
                           Rotate Image w/OpenGl (Jose CreateTexture)
                           Rotate Text
                           RotateBitmap III
                           RotateBitmap IV - Interpolation
                           Simple Text Rotate
                           Text Rotate

                  Screen Capture
                           Capture Dialog (VK_Snapshot)
                           Capture Dialog (WM_Print)
                           Capture Screen
                           Capture/Save Both Dialog/Screen
                           Print Dialog (Uses clipboard)
                           Print Dialog (Uses DCs)
                           Repetitive Screen Captures
                           Repetitive Screen Captures
                           Screen Capture
                           Screen Capture II
                           Screen Capture III
                           Simple Screen Capture

                  Screensaver Tutor Series
                           Screensaver - Dialog as Canvas
                           ScreenSaver - Moving Sprites
                           ScreenSaver - RFoxDesigns
                           ScreenSaver - Start Screensaver
                           ScreenSaver - Template (Dialog As Drawing Surface)
                           ScreenSaver - Template (Uses Graphic Control)

                  Sprite Tutor Series
                           Sprite 01 - RealTime, No Buffer, 1 Sprite
                           Sprite 02 - One Static Image (Bitmap), Single Frame, Memory Bitmap per Frame
                           Sprite 03 - One Static Image (Icon), Single Frame
                           Sprite 04 - RealTime Images
                           Sprite 05 - Array of Static Images (Bitmaps), Single Frame
                           Sprite 06 - Array of Static Images (Icons), Single Frame
                           Sprite 07 - Array (1000, 32x32) of Images (Icons) w/Redraw
                           Sprite 08 - Array (1000, 4x4) of Images (Icons) w/Redraw
                           Sprite 09 - Array (50Composite, 128x128) of Images (Icons) w/Redraw
                           Sprite 10 - Array (1000Composite, 32x32) of Images (Icons) w/Redraw
                           Sprite 101
                           Sprite 11 - Array (1000Composite, 4x4) of Images (Icons) w/Redraw
                           Sprite 12 - Dixon (All BASIC)
                           Sprite 13 - Dixon (All BASIC) - Modified
                           Sprite 14 - Dixon (w/ASM)

                           Vertically Align Text

                           Remove Wallpaper
                           Set Wallpaper - from file
                           Set Wallpaper - use dialog image

         Graphics - GDI
                  .. 1x1 Demo
                  .. API Arguments / Data Structure Reference
                  .. Create a Color Bitmap
                  .. DC Examples
                  .. GDI/Bitmap Links
                  .. Get Pixel Speed Test
                  ..Desktop Question
                  ..Device Context
                  ..Fonts and Text
                  ..Painting and Drawing
                  .Graphics Overview - GDI
                  Bitmap Structures
                  Bitmaps I
                  Bitmaps II
                  DC Test - Chris Boss
                  DC Test - Chris Boss II
                  DC Test - Chris Boss III
                  Draw Directly on Dialog
                  Device Context
                  Filled Shapes / Lines & Curves
                  Fonts & Text ... empty
                  GDI Article - DIBs and Their Use
                  GDI Examples
                  GDI Graphic Functions
                  GDI vs PowerBASIC
                  Load Image From File
                  More bitmap stuff
                  Painting and Drawing
                  Paths/Regions/Clipping ... empty
                  Rectangle Math
                  Stephens - I - GraphicA -> CompatDC -> GraphicB
                  Stephens - II - GetBitmapBits/SetBitmaps (x,y) in Bytes
                  Stephens - III - GetBitmapBits/SetBitmaps (x,y) in Long
                  Stephens - III - GetBitmapBits/SetBitmaps (x,y) in RGBQuad
                  Stephens - IV - GetiDIBits (x,y) in Long
                  Write Directly To Desktop

         Graphics - GDI+
                  .Graphics Overview - GDI+
                  .Mini GDI+ Include
                  .Template - long duration
                  .Template - short duration
                  .Tutorial II
                  .Tutorial III
                  Draw on Graphic Control
                  GDI+ - Load BMP/GIF/JPG Image to Graphic Control
                  GDI+ - Save Graphic Control Image as BMP/GIF/JPG
                  GDI+ Test Bed
                  GDIPlus Image Rotation (Petr)
                  Get Bitmap Dimensions (Resource Image)
                  Load JPG/GIF Images (GDI+)
                  Load JPG/GIF Images (GDI+) to Graphic Controls
                  Load JPG/GIF Images (GDI+) to Memory Bitmaps
                  Save Graphic Target as BMP/GIF/JPG (no input file)
                  Save Image File as BMP/GIF/JPG

         Graphics - OpenGL
                  .GDIImage Links
                  .GDIPlus_Simple Include
                  All 10 Primitives
                  Barely Minimal Code
                  Better Minimal Code (2nd Dialog)
                  Better Minimal Code (Dialog)
                  Circle of Line_Loops
                  Cubes (Points, Wireframe, Solid)
                  Cylinder, Disk, Partial Disk
                  Depth Field
                  Display List I (1 Cube)
                  Display List II (2 Cubes)
                  Display List III (Many Cubes)
                  glPushMatrix / glPopMatrix
                  Line, Wide, Antialiasing
                  Orthographic vs Perspective Projection
                  Point, Large, Antialiasing
                  Rotate Object Around Origin
                  Sphere (Points, Wireframe, Solid)
                  Template w/User Interface
                  Template w/User Interface (DoEvents)
                  Texture Mapping (different image each face)
                  Texture Mapping (Minimal)
                  Texture Mapping (same image, all faces)
                  Twin Viewports (Label Controls)
                  Two Spinning Cubes, One Orbiting Other
                  Two Spinning Cubes, Rotate About Common Center
                  Use 2nd Dialog As OpenGL Canvas
                  Use Graphic Control As OpenGL Canvas
                  Use Graphic Window As OpenGL Canvas ... in work
                  Use Label Control As OpenGL Canvas
                  WalkThrough (Arrow Keys)
                  WalkThrough (AutoWalk)
                  WalkThrough (Mouse)
                  Wireframe Cube (Line_Loops)
                  World ... in work

                  Hooking Overview
                  KeyBoard Hook
                  Keyboard Hook
                  Mouse Hook

                  .Reference: HTTP Message Structures
                  .Reference: HTTP Request Headers
                  .Reference: TCP/UDP Statements/Syntax
                  .Reference: WinInet API & Structures
                  Browser in PB App
                  Create HTML File Programatically
                  Create URL Shortcut
                  Download URL w/Progress
                  Email - Send Using Default Client
                  Find in Browser Control
                  Get URL Text
                  HTTP Response - Separate Header From Body
                  HTTP Response - Separate Header Parts
                  Open URL - Using Default Browser
                  TCP - Download Header Only
                  TCP - Download Large File (HTTP)
                  TCP - Download Small File (HTTP)
                  TCP - Get URL File Size / Date
                  URL Parsing
                  WinInet - Download Header Only
                  WinInet - Download Large File, w/status
                  WinInet - Download Small File
                  WinInet - Get URL File Size / Date
                  WinInet - PING
                  WinInet - Test for Internet Connection

                  %IDOK + %IDCancel + ESC + Enter
                  %IDOK + Enter (Exception)
                  .Introduction - Messages & Functions
                  .Message Detection (TextBox SubClassing)
                  Arrow Key Capture
                  F1 (Help)
                  Get Key State At Any Time
                  Get Key State At Time of Event

                  Example01 - Single Line

                  Convert Binary to Decimal
                  Convert Decimal to Binary
                  Convert Decimal to Hex
                  Convert Hex to Decimal
                  Evaluate Equation
                  Fast MOD
                  Generate Random Number
                  Manipulating bits in variables
                  Round to Specified Decimals
                  Storing Multiple Values in a DWord Integer
                  Storing Multiple Values in a Long Integer
                  TIX Test of MOD Versions

                  .Really Simple Menu Example
                  .Show Underlines in Menu Text
                  Activate Alt+Accelerator Key
                  Check Menu Items
                  Far Right Menu
                  Flip menu check state
                  Help - By Menu and F1
                  Menu - Skeleton, 1-Level
                  Menu - Skeleton, 2-Level
                  Menu - Skeleton, Context, TextBox
                  Show Bitmap In Menu Item

                  .Messages of Interest (wParam/lParam definitions)
                  AutoSefFocus With Tooltips
                  ClipCursor - Limit Cursort to Rectangular Area
                  Detect Mouse Anywhere
                  Detect Mouse Position (All Controls)
                  Detecting Mouse Wheel Scrolling
                  Draw on Desktop (Over Cursor)
                  Draw on Transparent Dialog (Over Cursor)
                  Flash Cursor
                  Focus Follows Mouse
                  Mouse Capture
                  Mouse Outside - David Roberts
                  Mouse Outside - Jose
                  Mouse Outside - Jules
                  Mouse Sonar
                  Repeat Action While Mouse Pressed
                  Repeat Action While Button Pressed (No SubClassing)
                  Set Cursor For Each Control
                  SetCapture by Dominic
                  Test for Mouse Click in Control
                  Virtual Position of Mouse

                  Align Decimals
                  Draw text centered on printer page
                  Line To Line Height
                  Print Preview
                  Print Preview (XPrint Preview)
                  Print Text With Embedded TABs (Multi-Line, Set POS)
                  Print Text With Embedded TABs (Single Line, Set POS)
                  Printable Area
                  Right Justify
                  Send Page Eject to Printer
                  Set Printer for 8.5x11 Page
                  Simple Print Dialog
                  Vertically Align Text - Printer

         Regular Expressions
                  Find Dollar Amount in String
                  Find Email Address in String
                  Find Non-Numeric String
                  Find Search String in Main String
                  Search String, Finding Multiple Occurrence

                  Load Cursor - From File
                  Load Cursor - From Resource
                  Resource Image Size

                  .CreateWindow API Syntax
                  .PreDefined Class Names
                  .Summary - DDT vs SDK
                  .Template for SDK Snippets
                  SDK App - 1. Define Class
                  SDK App - 2. Create/Register Class
                  SDK App - 3. Show Window
                  SDK App - 4. Message Loop
                  SDK App - 5. Message Response
                  SDK App - 6. Hello World Example

         SDK - Controls
                  Button Class - Example
                  Button Class - Reference
                  Edit Class - Example
                  Edit Class - Reference
                  Static Class - Example
                  Static Class - Reference

                  Whole Word Search

                  Encrypte/Decrypt a File

         Serial Port
                  .Comm Command Reference
                  Dual Port - Send & Receive
                  Simple Receive Utility
                  Simple Send Utility

                  3-Click Sort: Ascending, Descending, No-Sort
                  Numeric Sort
                  Sort UDT Array
                  String Sort

                  Play Sound - MIDI file
                  Play Sound - WAV file
                  Play Sound (Resource File)
                  Play Sound (System Sound)
                  Play Tones (WinBeep)
                  Speech Synthesizer (Background Thread)
                  Speech Synthesizer (Read Text)

         Source Code Analysis
                  Build Procedure List
                  Code Indenter
                  Equate Check
                  Equate Check II
                  Fast Build Procedure
                  Remove Quotes

                  Convert Case
                  Convert Mixed CRLF / LF to only CRLF
                  Convert TABs to Spaces (DrawTextEx)
                  Convert TABs to Spaces (GetTextExtentPoint32)
                  Extract nth Delimited String (Field)
                  Find JPG/GIF in Text
                  Find nth Occurrence of Substring Within a String
                  Find SubString Within a String
                  Fit String To Area (Graphic Control)
                  Get Physical Length of String
                  Join Array Elements
                  Levenshtein Distance
                  Levenshtein Distance II
                  Multi-Thread Write To String
                  Remove Leading/Trailing String/Characters
                  Replace Multiple Delimiters (with One Delimiter)
                  Replace Substring Within a String
                  Sliding String Comparison
                  Split String Into Array
                  Text Difference - Markup/Strikeout
                  Text Differences - Side by Side
                  Verify String Contains Only Letters/Numbers
                  Vertically Align Text in Two Labels
                  Word Wrap with Graphic Control
                  Word Wrap with Graphic Control II

         System Information
                  Associate Extension (Dickinson, in work)
                  Associate Extension (Semen, in work)
                  Computer Name
                  Copy/Retrieve BMP
                  Copy/Retrieve Text
                  Environment variables
                  Explorer Context Menu
                  Get Screen Resolution
                  Special Folders
                  System Metrics II
                  User Name

         Templates (IDE)
                  .Dialog + Buttons
                  .Dialog + DoEvents Loop
                  .Dialog + Selected Messages
                  .Dialog Only
                  .Simple: Dialog + Button
                  .Simple: Dialog + DoEvents Loop
                  .Simple: Dialog + Selected Messages
                  .Simple: Dialog Only

                  .Command Summary
                  .Sleep vs Dialog DoEvents
                  Custom Thread Messages
                  Multiple Threads
                  Simple Thread - One Main, One Secondary
                  Simple Threads - Two Secondary
                  Stopping a Thread

                  Accurate Timer
                  Compare 2 FileTimes
                  Convert MM-DD-YYYY to YYYY-MM-DD
                  Convert seconds to minutes
                  Day of Week on Given Date (Method #1)
                  Day of Week on Given Date (Method #2)
                  Days Between Two Dates
                  Display System Time II
                  Elapsed Time - GetTickCount
                  Elapsed Time - QueryPerformance
                  Elapsed Time - TIMER
                  Elapsed Time - TIX
                  Elapsed Time - Various
                  File Time Manipulation
                  Set Date_Time I
                  Set Date_Time II
                  Synchronization Object
                  Time - Create a Timer
                  UTC Time
                  Validate Date - API Method
                  Validate Date - String Parse Method

                  Convert gbFind to gbSnippets
                  gbClipOpen - System Tray Version

                           Draw CrossHair - Holbrook - Transparent Dialog
                           Draw Only - Beene - SetCursor + GetDC
                           Draw Only - Borje/Beene - %WM_xButton Events
                           Draw Only - Borjge - %WM_xButton Events
                           Draw Only - Holbrook/Beene - Transparent Dialog
                           Draw Only - Jules - SetCursor + GetWindowDC
                  gbFileMerge - Create GBS File From Samples

                           Magnify I - SetCapture Method
                           Magnify II
                           Magnify III - Timer-Based
                           Screen Capture - to Dialog via WM_Paint
                           Screen Capture - to Graphic Control (works)
                  gbResourceViewer - Resource Image Viewer / Convert to DATA

                           Boolean Search
                           Boolean Search Using RegExpr
                           SubFolder Search
                  On Screen Ruler
                  Placement II
                  Read gbSnippets File
                  Run PowerBASIC Compiler

                           .Control List
                           .Default Dialog Styles
                           .Dialog Styles/ExStyles
                           .Window Style Limitations
                           .WS_Child Style
                           Clipboard Spy
                           Enumerate All Windows (Children Only)
                           Enumerate All Windows (Parent and Child)
                           Enumerate Windows
                           Enumerate Windows to ListView
                           Property List
                           Select Window for WinSpy
                           Style Change During Execution
                           WinSpy I - Window Highlight
                           WinSpy II - Window Highlight
                  Word Cloud
                  Word List