Folks,
I spotted an EZGUI Designer version on the EZGUI forum and decided to create a 'FREEWARE DDT' version so others can benefit.
The idea was dreamed up by Ivan (sorry no last name on forum).
This little program creates a PowerBASIC PBR using RC.exe and PBRES.exe from the information you enter.
------------------
I spotted an EZGUI Designer version on the EZGUI forum and decided to create a 'FREEWARE DDT' version so others can benefit.
The idea was dreamed up by Ivan (sorry no last name on forum).
This little program creates a PowerBASIC PBR using RC.exe and PBRES.exe from the information you enter.
Code:
' ************************************************************* ' Code Generated by EZGUI Freeware Dialog Designer ' ************************************************************* #COMPILE EXE #REGISTER NONE #DIM ALL ' This is helpful to prevent errors in coding ' Remark out the Constants for Controls you Will use in your program ! %NOANIMATE = 1 %NOBUTTON = 1 %NOCOMBO = 1 %NODRAGLIST = 1 %NOHEADER = 1 %NOIMAGELIST = 1 %NOLIST = 1 ' %NOLISTVIEW = 1 ' %NOSTATUSBAR = 1 ' %NOTABCONTROL = 1 ' %NOTOOLBAR = 1 ' %NOTOOLTIPS = 1 %NOTRACKBAR = 1 ' %NOTREEVIEW = 1 ' %NOUPDOWN = 1 #INCLUDE "win32api.inc" ' Must come first before other include files ! #INCLUDE "commctrl.inc" ' The Common Controls include file ! ' ************************************************************* ' ************************************************************* ' EZGUI Library Constants and Declares ' ************************************************************* DECLARE SUB EZLIB_InitFonts() DECLARE SUB EZLIB_DeleteFonts() DECLARE SUB EZLIB_FixSize(BYVAL hDlg&, BYVAL Style&, BYVAL HasMenu&) DECLARE FUNCTION EZLIB_IsTooltip(BYVAL lParam AS LONG) AS LONG DECLARE FUNCTION EZLIB_TooltipID(BYVAL lParam AS LONG) AS LONG DECLARE SUB EZLIB_SetTooltipText(BYVAL lParam AS LONG, TipText$) DECLARE FUNCTION EZLIB_IsTab(BYVAL lParam AS LONG) AS LONG DECLARE FUNCTION EZLIB_TabID(BYVAL lParam AS LONG) AS LONG DECLARE FUNCTION EZLIB_TabNum(BYVAL lParam AS LONG) AS LONG DECLARE SUB EZLIB_AddTabs(BYVAL hDlg AS LONG, BYVAL IDNum&, BYVAL TabText$) DECLARE SUB EZLIB_DefColors() DECLARE SUB EZLIB_DeleteBrushes() DECLARE FUNCTION EZLIB_QBColor(N&) AS LONG DECLARE SUB EZLIB_ShowControl(BYVAL hWnd&, BYVAL ID&, BYVAL SFlag&) ' ************************************************************* ' Application Constants and Declares ' ************************************************************* %MAIN_LABEL5 = 100 %MAIN_LABEL4 = 105 %MAIN_LABEL3 = 110 %MAIN_LABEL2 = 115 %MAIN_LABEL6 = 120 %MAIN_LABEL1 = 125 %MAIN_TEXT1 = 130 %MAIN_TEXT2 = 135 %MAIN_TEXT3 = 140 %MAIN_TEXT4 = 145 %MAIN_TEXT5 = 150 %MAIN_TEXT6 = 155 %MAIN_BUTTON1 = 1 %MAIN_BUTTON2 = 160 ' -------------------------------------------------- DECLARE SUB ShowDialog_Main(BYVAL hParent&) DECLARE CALLBACK FUNCTION Main_DLGPROC ' -------------------------------------------------- ' ------------------------------------------------ DECLARE CALLBACK FUNCTION CBF_MAIN_TEXT1() DECLARE CALLBACK FUNCTION CBF_MAIN_TEXT2() DECLARE CALLBACK FUNCTION CBF_MAIN_TEXT3() DECLARE CALLBACK FUNCTION CBF_MAIN_TEXT4() DECLARE CALLBACK FUNCTION CBF_MAIN_TEXT5() DECLARE CALLBACK FUNCTION CBF_MAIN_TEXT6() DECLARE CALLBACK FUNCTION CBF_MAIN_BUTTON1() DECLARE CALLBACK FUNCTION CBF_MAIN_BUTTON2() ' (1) Put NEXT DIALOG Constant and Declare code after here : ' ************************************************************* ' Application Global Variables and Types ' ************************************************************* 'Create PBR Globals GLOBAL ResName$ 'Filename with extension .RC GLOBAL ResNameX$ 'Contents of Filename textbox GLOBAL ResName1$ 'Filename with extension .RES GLOBAL Location$ 'Path of the PBR file to be created GLOBAL Item$ 'RC file contents 'EZ_DDT globals GLOBAL App_Brush&() GLOBAL App_Color&() GLOBAL App_Font&() GLOBAL hMain& ' Dialog handle ' (2) Put NEXT DIALOG Globals code after here : ' ************************************************************* ' Application Entrance ' ************************************************************* FUNCTION PBMAIN LOCAL Count& LOCAL CC1 AS INIT_COMMON_CONTROLSEX CC1.dwSize=SIZEOF(CC1) CC1.dwICC=%ICC_WIN95_CLASSES InitCommonControlsEX CC1 EZLIB_DefColors EZLIB_InitFonts ShowDialog_Main 0 DO DIALOG DOEVENTS TO Count& LOOP UNTIL Count&=0 EZLIB_DeleteBrushes EZLIB_DeleteFonts END FUNCTION ' ************************************************************* ' Application Dialogs ' ************************************************************* SUB ShowDialog_Main(BYVAL hParent&) LOCAL Style&, ExStyle& LOCAL N&, CT& ' Variables used for Reading Data in Arrays for Listbox and Combobox ' hParent& = 0 if no parent Dialog Style& = %WS_POPUP OR %DS_MODALFRAME OR %WS_CAPTION OR %WS_MINIMIZEBOX OR %WS_SYSMENU OR %DS_CENTER ExStyle& = 0 DIALOG NEW hParent&, "Designed by Ivan", 0, 0, 309, 236, Style&, ExStyle& TO hMain& EZLIB_FixSize hMain&, Style&, 0 ' Layer # 0 CONTROL ADD LABEL, hMain&, %MAIN_LABEL5, "Items you wish to add to your resource:", 3, 118, 235, 10 CONTROL SEND hMain&, %MAIN_LABEL5, %WM_SETFONT, App_Font&(2), %TRUE CONTROL ADD LABEL, hMain&, %MAIN_LABEL4, "(e.g. c:\Masterpiece)", 208, 42, 80, 12, _ %WS_CHILD OR %WS_VISIBLE OR %SS_CENTER CONTROL ADD LABEL, hMain&, %MAIN_LABEL3, "Save To This Folder:", 3, 42, 69, 12 CONTROL ADD LABEL, hMain&, %MAIN_LABEL2, "8 letters max. (e.g. MyRes)", 213, 27, 93, 15 CONTROL ADD LABEL, hMain&, %MAIN_LABEL6, "Quikee PBR Creator", 0, 5, 301, 20, _ %WS_CHILD OR %WS_VISIBLE OR %SS_CENTER CONTROL SEND hMain&, %MAIN_LABEL6, %WM_SETFONT, App_Font&(0), %TRUE CONTROL ADD LABEL, hMain&, %MAIN_LABEL1, "Resource File Name:", 75, 27, 80, 12, _ %WS_CHILD OR %WS_VISIBLE OR %SS_CENTER CONTROL ADD TEXTBOX, hMain&, %MAIN_TEXT1, "", 155, 27, 53, 12, _ %WS_CHILD OR %WS_VISIBLE OR %ES_AUTOHSCROLL OR %WS_TABSTOP, _ %WS_EX_CLIENTEDGE CALL CBF_MAIN_TEXT1 CONTROL ADD TEXTBOX, hMain&, %MAIN_TEXT2, "", 75, 42, 133, 12, _ %WS_CHILD OR %WS_VISIBLE OR %ES_AUTOHSCROLL OR %WS_TABSTOP, _ %WS_EX_CLIENTEDGE CALL CBF_MAIN_TEXT2 CONTROL ADD TEXTBOX, hMain&, %MAIN_TEXT3, "Usage: myName icon discardable ''myName.ico''", 3, 64, 165, 10, _ %WS_CHILD OR %WS_VISIBLE OR %ES_AUTOHSCROLL CALL CBF_MAIN_TEXT3 CONTROL ADD TEXTBOX, hMain&, %MAIN_TEXT4, "myName bitmap discardable ''c:\bitmaps\myBitmap.bmp''", 32, 74, 184, 12, _ %WS_CHILD OR %WS_VISIBLE OR %ES_READONLY OR %ES_LEFT CALL CBF_MAIN_TEXT4 CONTROL ADD TEXTBOX, hMain&, %MAIN_TEXT5, "", 3, 128, 301, 76, _ %WS_CHILD OR %WS_VISIBLE OR %ES_MULTILINE OR %ES_WANTRETURN OR %ES_LEFT OR %ES_AUTOVSCROLL OR %WS_VSCROLL OR %ES_AUTOHSCROLL OR %WS_HSCROLL OR %WS_TABSTOP, _ %WS_EX_CLIENTEDGE CALL CBF_MAIN_TEXT5 CONTROL ADD TEXTBOX, hMain&, %MAIN_TEXT6, "Note: If RC.EXE and PBRES.EXE are placed in \Windows\System then you can use this program from any directory.", 3, 96, 296, 17, _ %WS_CHILD OR %WS_VISIBLE OR %ES_MULTILINE OR %ES_WANTRETURN OR %ES_LEFT CALL CBF_MAIN_TEXT6 CONTROL ADD "Button", hMain&, %MAIN_BUTTON1, "&Exit", 243, 214, 53, 15, _ %WS_CHILD OR %WS_VISIBLE OR %BS_DEFPUSHBUTTON OR %WS_TABSTOP CALL CBF_MAIN_BUTTON1 CONTROL ADD "Button", hMain&, %MAIN_BUTTON2, "&Create", 184, 214, 53, 15, _ %WS_CHILD OR %WS_VISIBLE OR %BS_PUSHBUTTON OR %WS_TABSTOP CALL CBF_MAIN_BUTTON2 DIALOG SHOW MODELESS hMain& , CALL Main_DLGPROC END SUB ' ************************************************************* ' Dialog Callback Procedure ' for Form Main ' uses Global Handle - hMain& ' ************************************************************* CALLBACK FUNCTION Main_DLGPROC SELECT CASE CBMSG ' Common Windows Messages you may want to process ' ----------------------------------------------- CASE %WM_TIMER CASE %WM_HSCROLL CASE %WM_VSCROLL CASE %WM_SIZE CASE %WM_CLOSE CASE %WM_DESTROY CASE %WM_SYSCOMMAND CASE %WM_PAINT ' ----------------------------------------------- CASE %WM_CTLCOLORDLG IF CBLPARAM=CBHNDL THEN ' Dialogs colors SetTextColor CBWPARAM, App_Color&(0) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) END IF CASE %WM_CTLCOLORMSGBOX , %WM_CTLCOLORBTN, %WM_CTLCOLOREDIT,_ %WM_CTLCOLORSTATIC, %WM_CTLCOLORSCROLLBAR, %WM_CTLCOLORLISTBOX ' Control colors SELECT CASE GetDlgCtrlID(CBLPARAM) CASE %MAIN_LABEL5 SetTextColor CBWPARAM, App_Color&( 4) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_LABEL4 SetTextColor CBWPARAM, App_Color&( 7) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_LABEL3 SetTextColor CBWPARAM, App_Color&( 1) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_LABEL2 SetTextColor CBWPARAM, App_Color&( 7) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_LABEL6 SetTextColor CBWPARAM, App_Color&( 12) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_LABEL1 SetTextColor CBWPARAM, App_Color&( 1) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_TEXT3 SetTextColor CBWPARAM, App_Color&( 1) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_TEXT4 SetTextColor CBWPARAM, App_Color&( 1) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE %MAIN_TEXT6 SetTextColor CBWPARAM, App_Color&( 9) SetBkColor CBWPARAM, App_Color&( 28) FUNCTION=App_Brush&( 28) CASE ELSE FUNCTION=0 END SELECT CASE %WM_NOTIFY IF EZLIB_IsTooltip(CBLPARAM) THEN SELECT CASE EZLIB_TooltipID(CBLPARAM) CASE %MAIN_BUTTON1 EZLIB_SetTooltipText CBLPARAM, "Control - %MAIN_BUTTON1" CASE %MAIN_BUTTON2 EZLIB_SetTooltipText CBLPARAM, "Control - %MAIN_BUTTON2" CASE ELSE END SELECT END IF IF EZLIB_IsTab(CBLPARAM) THEN SELECT CASE EZLIB_TabID(CBLPARAM) CASE ELSE END SELECT END IF CASE %WM_COMMAND ' Process Messages to Controls that have no Callback Function ' and Process Messages to Menu Items SELECT CASE CBCTL CASE ELSE END SELECT CASE ELSE END SELECT END FUNCTION ' (3) Put NEXT DIALOG Creation / Dialog Procedure code after here : ' ************************************************************* ' EZGUI Freeware Dialog Designer Library ' ' see web site at EZGUI.COM ' ' Copyright (C) 2000, Christopher R. Boss , All Rights Reserved ! ' ' This code was Generated by the EZGUI Freeware Dialog Designer ' and may be used ROYALTY FREE, as long as this Copyright notice ' is kept with the source code. ' The Author also gives you the right to post this code on a ' web site and to distribute it to others. ' ************************************************************* SUB EZLIB_InitFonts() REDIM App_Font(0 TO 5) App_Font(0)=GetStockObject(%SYSTEM_FONT) App_Font(1)=GetStockObject(%SYSTEM_FIXED_FONT) App_Font(2)=GetStockObject(%ANSI_VAR_FONT) App_Font(3)=GetStockObject(%ANSI_FIXED_FONT) App_Font(4)=GetStockObject(%DEFAULT_GUI_FONT) ' MS Sans Serif App_Font(5)=GetStockObject(%OEM_FIXED_FONT) ' Terminal Font END SUB ' ------------------------------------------------------------- SUB EZLIB_DeleteFonts() LOCAL N& ' Fonts 0 to 5 do not need to be deleted FOR N&=6 TO UBOUND(App_Font) IF App_Font(N&)<>0 THEN DeleteObject App_Font(N&) NEXT N& END SUB ' ------------------------------------------------------------- SUB EZLIB_FixSize(BYVAL hDlg&, BYVAL Style&, BYVAL HasMenu&) LOCAL X&, Y&, W&, H&, XX&, YY& DIALOG GET SIZE hDlg& TO X&, Y& IF (Style& AND %WS_CAPTION) = %WS_CAPTION THEN IF HasMenu& THEN H&=H&+GetSystemMetrics(%SM_CYCAPTION) END IF END IF IF (Style& AND %WS_HSCROLL) = %WS_HSCROLL THEN H&=H&+GetSystemMetrics(%SM_CYHSCROLL) END IF IF (Style& AND %WS_VSCROLL) = %WS_VSCROLL THEN W&=W&+GetSystemMetrics(%SM_CYVSCROLL) END IF DIALOG PIXELS hDlg&, W&, H& TO UNITS XX&, YY& X&=X&+XX& Y&=Y&+YY& DIALOG SET SIZE hDlg&, X&, Y& END SUB ' ------------------------------------------------------------- FUNCTION EZLIB_IsTooltip(BYVAL lParam AS LONG) AS LONG LOCAL pNM AS NMHDR PTR pNM=lParam IF @pNM.code=%TTN_NEEDTEXT THEN FUNCTION=1 ELSE FUNCTION=0 END FUNCTION ' ------------------------------------------------------------- FUNCTION EZLIB_TooltipID(BYVAL lParam AS LONG) AS LONG LOCAL pNM AS NMHDR PTR, pTT AS TOOLTIPTEXT PTR LOCAL IDNum&, UF& IDNum&=0 pNM=lParam IF @pNM.code=%TTN_NEEDTEXT THEN ' Check for Tooltip message pTT=lParam UF&[email protected] AND %TTF_IDISHWND IF UF&=%TTF_IDISHWND THEN IDNum&=GetDlgCtrlID(@pTT.hdr.idfrom) ELSE IDNum&[email protected] END IF END IF FUNCTION=IDNum& END FUNCTION ' ------------------------------------------------------------- SUB EZLIB_SetTooltipText(BYVAL lParam AS LONG, TipText$) LOCAL pNM AS NMHDR PTR, pTT AS TOOLTIPTEXT PTR pNM=lParam IF @pNM.code=%TTN_NEEDTEXT THEN ' Check for Tooltip message pTT=lParam IF TipText$<>"" THEN @pTT.szText=LEFT$(TipText$, 79)+CHR$(0) END IF END IF END SUB ' ------------------------------------------------------------- FUNCTION EZLIB_IsTab(BYVAL lParam AS LONG) AS LONG LOCAL pNM AS NMHDR PTR pNM=lParam IF @pNM.code=%TCN_SELCHANGE THEN FUNCTION=1 ELSE FUNCTION=0 END FUNCTION ' ------------------------------------------------------------- FUNCTION EZLIB_TabID(BYVAL lParam AS LONG) AS LONG LOCAL pNM AS NMHDR PTR LOCAL IDNum& pNM=lParam IF @pNM.code=%TCN_SELCHANGE THEN IDNum&[email protected] END IF FUNCTION=IDNum& END FUNCTION ' ------------------------------------------------------------- FUNCTION EZLIB_TabNum(BYVAL lParam AS LONG) AS LONG LOCAL RV&, pNM AS NMHDR PTR LOCAL hCtrl AS LONG pNM=lParam IF @pNM.code=%TCN_SELCHANGE THEN [email protected] RV&=SendMessage(hCtrl, %TCM_GETCURSEL, 0, 0)+1 END IF FUNCTION=RV& END FUNCTION ' ------------------------------------------------------------- SUB EZLIB_AddTabs(BYVAL hDlg AS LONG, BYVAL IDNum&, BYVAL TabText$) LOCAL pItem AS TC_ITEM, hCtrl& LOCAL zText AS ASCIIZ*80 LOCAL D$, P&, TB& IF IDNum&<>0 THEN hCtrl&=GetDlgItem(hDlg,IDNum&) IF hCtrl&<>0 THEN TB&=0 DO IF TabText$="" THEN EXIT DO P&=INSTR(TabText$,"|") IF P&>0 THEN D$=LEFT$(TabText$,P&-1) TabText$=MID$(TabText$,P&+1) ELSE D$=TabText$ IF TabText$="" THEN EXIT DO TabText$="" END IF pItem.Mask=%TCIF_TEXT zText=D$+CHR$(0) pItem.pszText=VARPTR(zText) SendMessage hCtrl&, %TCM_INSERTITEM, TB&, VARPTR(pItem) TB&=TB&+1 LOOP END IF END IF END SUB ' ------------------------------------------------------------- SUB EZLIB_DefColors() LOCAL T& REDIM App_Brush&(0 TO 31) REDIM App_Color&(0 TO 31) FOR T&=0 TO 31 App_Brush&(T&)=CreateSolidBrush(EZLIB_QBColor(T&)) App_Color&(T&)=EZLIB_QBColor(T&) NEXT T& END SUB ' ------------------------------------------------------------- SUB EZLIB_DeleteBrushes() LOCAL T& FOR T&=0 TO 31 DeleteObject App_Brush&(T&) NEXT T& END SUB ' ------------------------------------------------------------- FUNCTION EZLIB_QBColor(N&) AS LONG LOCAL RV& SELECT CASE N& CASE 0 RV&=RGB(0,0,0) ' Black CASE 1 RV&=RGB(0,0,128) ' Blue CASE 2 RV&=RGB(0,128,0) ' Green CASE 3 RV&=RGB(0,128,128) ' Cyan CASE 4 RV&=RGB(196,0,0) ' Red CASE 5 RV&=RGB(128,0,128) ' Magenta (Purple) CASE 6 RV&=RGB(128,64,0) ' Brown CASE 7 RV&=RGB(196,196,196) ' White CASE 8 RV&=RGB(128,128,128) ' Gray CASE 9 RV&=RGB(0,0, 255) ' Lt. Blue CASE 10 RV&=RGB(0,255,0) ' Lt. Green CASE 11 RV&=RGB(0,255,255) ' Lt. Cyan CASE 12 RV&=RGB(255,0,0) ' Lt. Red CASE 13 RV&=RGB(255,0,255) ' Lt. magenta (Purple) CASE 14 RV&=RGB(255,255,0) ' Yellow CASE 15 RV&=RGB(255,255,255) ' Bright White CASE 16 ' - Extended QB colors Pastel version - RV&=RGB(164,164,164) CASE 17 RV&=RGB(128,160,255) CASE 18 RV&=RGB(160,255,160) CASE 19 RV&=RGB(160,255,255) CASE 20 RV&=RGB(255,160,160) CASE 21 RV&=RGB(255,160,255) CASE 22 RV&=RGB(255,255,160) CASE 23 RV&=RGB(212,212,212) CASE 24 RV&=RGB(180,180,180) CASE 25 RV&=RGB(188,220,255) CASE 26 RV&= RGB(220,255,220) CASE 27 RV&=RGB(220,255,255) CASE 28 ' RV&=RGB(255,220,220) original RV&=RGB(225,248,239) 'this is the chosen background color CASE 29 RV&=RGB(255,220,255) CASE 30 RV&=RGB(255,255,220) CASE 31 RV&=RGB(228,228,228) CASE ELSE RV&=RGB(0,0,0) END SELECT FUNCTION=RV& END FUNCTION ' ------------------------------------------------------------- SUB EZLIB_ShowControl(BYVAL hWnd&, BYVAL ID&, BYVAL SFlag&) LOCAL hCtrl& IF IsWindow(hWnd&) THEN IF ID&<>0 THEN hCtrl&=GetDlgItem(hWnd&,ID&) IF SFlag&=0 THEN ShowWindow hCtrl&, %SW_HIDE ELSE ShowWindow hCtrl&, %SW_SHOW END IF END IF END IF END SUB ' ------------------------------------------------------------- ' ************************************************************* ' End of EZGUI Dynamic Dialogs Library ' ************************************************************* ' ************************************************************* ' Application Callback Functions (or Procedures) for Controls ' ************************************************************* ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_TEXT1 IF CBCTLMSG=%EN_CHANGE THEN END IF IF CBCTLMSG=%EN_SETFOCUS THEN END IF IF CBCTLMSG=%EN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_TEXT2 IF CBCTLMSG=%EN_CHANGE THEN END IF IF CBCTLMSG=%EN_SETFOCUS THEN END IF IF CBCTLMSG=%EN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_TEXT3 IF CBCTLMSG=%EN_CHANGE THEN END IF IF CBCTLMSG=%EN_SETFOCUS THEN END IF IF CBCTLMSG=%EN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_TEXT4 IF CBCTLMSG=%EN_CHANGE THEN END IF IF CBCTLMSG=%EN_SETFOCUS THEN END IF IF CBCTLMSG=%EN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_TEXT5 IF CBCTLMSG=%EN_CHANGE THEN END IF IF CBCTLMSG=%EN_SETFOCUS THEN END IF IF CBCTLMSG=%EN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_TEXT6 IF CBCTLMSG=%EN_CHANGE THEN END IF IF CBCTLMSG=%EN_SETFOCUS THEN END IF IF CBCTLMSG=%EN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_BUTTON1 'Exit button IF CBCTLMSG=%BN_CLICKED THEN DIALOG END CBHNDL, 0 ' Return 0 END IF IF CBCTLMSG=%BN_SETFOCUS THEN END IF IF CBCTLMSG=%BN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' ------------------------------------------------ CALLBACK FUNCTION CBF_MAIN_BUTTON2 'Create button IF CBCTLMSG=%BN_CLICKED THEN CALL createResource() END IF IF CBCTLMSG=%BN_SETFOCUS THEN END IF IF CBCTLMSG=%BN_KILLFOCUS THEN END IF END FUNCTION ' ------------------------------------------------ ' (4) Put NEXT DIALOG Callback / Subs code after here : ' ************************************************************* ' Put Your Code Here ' ************************************************************* SUB CreateResource CONTROL GET TEXT hMain&, %MAIN_TEXT1 TO ResNameX$ ResName1$=ResNameX$+".res" ResName$=ResNameX$+".rc" CONTROL GET TEXT hMain&, %MAIN_TEXT2 TO Location$ Location$ = Location$ +"\" CONTROL GET TEXT hMain&, %MAIN_TEXT5 TO Item$ IF ResNameX$="" OR Location$="" OR Item$="" THEN MSGBOX "Please fill all fields",%MB_OK, "Quikee Resource Creator" CONTROL SET FOCUS hMain&, %MAIN_TEXT1 ELSE OPEN Location$+ResName$ FOR OUTPUT AS #1 PRINT #1,Item$ CLOSE #1 SHELL "rc "+Location$+ResName$,2 'Resouces compiler SHELL "pbres "+Location$+ResName1$,2 'PowerBASIC RES file compiler MSGBOX UCASE$(Location$+ResNameX$+".PBR")+" has been created",%MB_OK, "Quikee Resource Creator" END IF END SUB