We can use any filename as bitmap file. FWH will extract the icon and display it as bitmap of the button.
#include "fivewin.ch"
function Main()
local oDlg, oFont, aSave
local aFile := { "c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRD32.Exe", ;
"c:\Windows\System32\notepad.exe", ;
"c:\fwh\samples\pdfharu1H.pdf", ;
"c:\fwh\manual\fwcmd.chm" }
aSave := SetDefaultIconSize()
SetDefaultIconSize( 64, 64 )
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-20
DEFINE DIALOG oDlg SIZE 400,500 PIXEL TRUEPIXEL FONT oFont
@ 40,40 BUTTONBMP PROMPT "AcrobatReader.Exe" BITMAP aFile[ 1 ] ;
SIZE 300,80 PIXEL OF oDlg TEXTRIGHT
@ 140,40 BUTTONBMP PROMPT "NotePad.Exe" BITMAP aFile[ 2 ] ;
SIZE 300,80 PIXEL OF oDlg TEXTRIGHT
@ 240,40 BUTTONBMP PROMPT "PdfHaru1.pdf" BITMAP aFile[ 3 ] ;
SIZE 300,80 PIXEL OF oDlg TEXTRIGHT
@ 340,40 BUTTONBMP PROMPT "fwcmd.chm" BITMAP aFile[ 4 ] ;
SIZE 300,80 PIXEL OF oDlg TEXTRIGHT
SetDefaultIconSize( aSave[ 1 ], aSave[ 2 ] )
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
return nil
It is not necessary to write this code
img:=BmpFromIcon(EXTRACTASSICON( 0, nam, @aa))
in the application program.
Both BUTTONBMP and BTNBMP automatically does this job for us, without writing this code.