Select a snippet (by title) from the categorized list below.
Many of the snippets use this resource file
.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
ChildWindowFromPoint
ClientToScreen
GetCursorPos
GetDlgCtrlID
GetDlgItem
GetFocus
GetModuleHandle/GetModuleFileName/LoadLibrary
GetParent
GetWindowText Test
IsDialogVisible
IsIconic
IsZoomed
LoadLibrary/GetProcAddress
MapWindowPoints
ScreenToClient
SendMessage
SetCursorPos
SetFocus
WindowFromPoint
WM_GetDlgCode I
WM_GetDlgCode II
WM_GetDlgCode III
.Unicode
.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)
AutoUpdater
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
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
Manifest
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
Arrays
.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
.Tutorial
ASM Code
Convert Binary File to Inline Assembly Statements
String Comparison I - Paul Dixon
String Comparison II
String Comparison III
Callbacks
.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
Clipboard
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
Button
Calendar Control - Full
Check3State
CheckBox
ComboBox
Frame
Graphic
Image
ImageX
ImgButton
ImgButtonX
Label
Line
ListBox
ListView
Option
ProgressBar
ScrollBar
StatusBar
TAB
TextBox
Toolbar
TreeView
Up-Down Control
Controls - .Customization
.Overview
.Owner Draw Reference
.Custom Draw Reference
Owner Draw - Button
Custom Draw - Button
WM_CtlColor
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
.Notifications
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
SubClassing
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)
.Notifications
.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
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)
StrikeOut
SubClassing
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
Edit/Modify
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
Information
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
Debug
.Compiler Directives
Error List
IsProcedure
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
DLLs
.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
Files/Folders
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
SHBrowseForFolder
Use Temp Directory
Write/Read UDT To/From File
Fonts
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
gbApps
New Child
Graphics
.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
3D Modelling I - Minimal Code
3D Modelling II - Minimal Code + Read From File
Art
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
Bitmaps
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
Colors
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
Controls
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)
Drawing
Cross Hatch Lines
CrossHairs
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)
Games
Falling Sand
Gradients
Gradient DDT II
Gradient Fill
Gradient Fill I
Gradient Fill II
Gradient Fill III
Gradient Fill IV
Icons
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
Miscellaneous
BarCode
Region of Interest
Region of Interest II
SlideShow
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
Rotation
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)
Wallpaper
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
..Bitmaps
..Brushes/Pens
..Colors/FilledShapes/Lines.Curves
..Desktop Question
..Device Context
..Fonts and Text
..Painting and Drawing
.Graphics Overview - GDI
.Introduction
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
Pens/Brushes
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
.Questions
.Template - long duration
.Template - short duration
.Tutorial
.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
Hooking Overview
KeyBoard Hook
Keyboard Hook
Mouse Hook
Internet
.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
Keyboard
%IDOK + %IDCancel + ESC + Enter
%IDOK + Enter (Exception)
.Introduction - Messages & Functions
.Message Detection (TextBox SubClassing)
Arrow Key Capture
Ctrl-V
Enter
F1 (Help)
F2
Get Key State At Any Time
Get Key State At Time of Event
TAB
Macros
Example01 - Single Line
Math
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
Menus
.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
Mouse
.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
Printing
Align Decimals
Draw text centered on printer page
Landscape
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
WordWrap
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
Resources
Load Cursor - From File
Load Cursor - From Resource
Resource Image Size
SDK
.CreateWindow API Syntax
.PreDefined Class Names
.Summary - DDT vs SDK
.Template for SDK Snippets
.WinMain
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
.Background
Button Class - Example
Button Class - Reference
Edit Class - Example
Edit Class - Reference
Static Class - Example
Static Class - Reference
Searching
Whole Word Search
Security
Encrypte/Decrypt a File
Serial Port
.Comm Command Reference
.Tools
Dual Port - Send & Receive
Simple Receive Utility
Simple Send Utility
Sorting
3-Click Sort: Ascending, Descending, No-Sort
Numeric Sort
Sort UDT Array
String Sort
Sound
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
Strings
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
IsTextUnicode
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
Threads
.Command Summary
.Sleep vs Dialog DoEvents
Custom Thread Messages
Multiple Threads
Simple Thread - One Main, One Secondary
Simple Threads - Two Secondary
Stopping a Thread
Time/Timers
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
Utilities
Convert gbFind to gbSnippets
gbClipOpen - System Tray Version
gbDesigner
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
gbMagnify
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
gbSearch
Boolean Search
Boolean Search Using RegExpr
SubFolder Search
On Screen Ruler
Placement
Placement II
Read gbSnippets File
Run PowerBASIC Compiler
WinSpy
.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