video:
http://www.atzwanger.com/FWHRAD/FWHRAD.html
I did some test using a UEStudio macro to start a Fivewin program to edit source code with input screens.
Regards,
Otto
#include "FIVEWIN.CH"
#INCLUDE "BOX.CH"
#INCLUDE "FILEIO.CH"
#INCLUDE "INKEY.CH"
#include "Splitter.ch"
#define COLOR_WINDOW 5
#define COLOR_WINDOWTEXT 8
static oWnd
//----------------------------------------------------------------------------//
function Main()
local oTmr
local aufruf := "BTN"
local oTree, oItem1, oItem2, oBmp1, oBmp2, oImageList,oSplit
local cTxt := ""
SetBalloon( .T. )
DEFINE WINDOW oWnd TITLE "FWH RAD" FROM 50, 50 TO 300, 275 PIXEL
SETWINDOWPOS( oWnd:hWnd, -1, 0, 0, 0, 0, 3 )
DEFINE TIMER oTmr INTERVAL 500 ACTION (oTmr:DeActivate(),;
oWnd:Say( 10, 17, Time() ), openWin1(aufruf:="TIMER"), oTmr:Activate() ) of oWnd
oImageList = TImageList():New()
oBmp1 = TBitmap():Define( "folder",, oWnd )
oBmp2 = TBitmap():Define( "fldMask",, oWnd )
oImageList:Add( oBmp1, oBmp2 )
oTree = TTreeView():New( 2, 0, oWnd )
oTree:SetImageList( oImageList )
oItem1 = oTree:Add( "*Classes" )
oItem1:Add( "TWindow" )
oItem1:Add( "TActiveX" )
oItem1:Add( "TBar" )
oItem1:Add( "TBitmap" )
oItem1:Add( "TBrush")
oItem1:Add( "TBtnBmp")
oItem1:Add( "TButton")
oItem1:Add( "TButtonBmp")
oItem1:Add( "TCheckBox")
oItem1:Add( "TClipBoard")
oItem1:Add( "TComboBox")
oItem1:Add( "TCursor")
oItem1:Add( "TGet")
oItem1:Add( "TGroup")
oItem1:Add( "TIcon")
oItem1:Add( "TImage")
oItem1:Add( "TImageList")
oItem1:Add( "TListBox")
oItem1:Add( "TListView")
oItem1:Add( "TMdiChild")
oItem1:Add( "TMdiFrame")
oItem2 = oTree:Add( "*FWH" )
oItem2:Add( "TMetaFile")
oItem2:Add( "TMeter")
oItem2:Add( "TMsgBar")
oItem2:Add( "TMsgItem")
oItem2:Add( "TMultiGet")
oItem2:Add( "TOutLook2003")
oItem2:Add( "TProgress")
oItem2:Add( "TRadMenu")
oItem2:Add( "TRadio")
oItem2:Add( "TReBar")
oItem2:Add( "TSay")
oItem2:Add( "TScrollBar")
oItem2:Add( "TStatusBar")
oItem2:Add( "TTabControl")
oItem2:Add( "TTimer")
oItem2:Add( "TToolBar")
oItem2:Add( "TTrackBar")
oItem2:Add( "TTreeView")
oItem2:Add( "TVbControl")
oItem2:Add( "TWBrowse")
oTree:Add( "FiveWin power!" )
oTree:bLDblClick = { || (oTmr:DeActivate(),;
iif(left(oTree:GetSelText(),1) <> "*",;
(cTxt:= oTree:GetSelText(),openWin1(aufruf := "BTN", cTxt )), ),;
oTmr:Activate())}
@ 29, 200 SPLITTER oSplit ;
VERTICAL _3DLOOK ;
PREVIOUS CONTROLS oTree ;
SIZE 4, 200 PIXEL ;
OF oWnd
ACTIVATE TIMER oTmr
ACTIVATE WINDOW oWnd ;
ON RESIZE oSplit:AdjClient()
oTmr:End()
return nil
function openWin1(aufruf,cTxt)
local cText
local cDatei := "c:\TEMP\text.txt"
local cTxtFile
local nFrom
local cLine := ""
local cToken := ""
local VariablenListe := ""
if file(cDatei) = .t. .or. aufruf = "BTN"
if aufruf = "TIMER"
cText := "#include 'FiveWin.ch'" + CRLF + memoread(cDatei)
FERASE (cDatei)
memowrit("datei.prg",cText)
waitrun ("clipper.exe datei.prg /p", 0 )
cTxtFile = MemoRead( "datei.ppo" )
nFrom = 1
while nFrom < Len( cTxtFile )
cLine = ExtractLine( cTxtFile, @nFrom )
SysRefresh()
end
cToken := StrToken( cline,2,':' )
cToken := STRTRAN(cToken,"=","")
//oWnd := TWindow():New(,,,, "Timers",,,,,,,,,,,, !.F., !.F., !.F., !.F., .F. )
cline := STRTRAN(cline, 'Upper("NONE")' ,'"NONE"')
cline := STRTRAN(cline, 'Upper("SINGLE")' ,'"SINGLE"')
VariablenListe := '"' + cToken + '", "'+ ALLTRIM(StrToken( cline,1,':' ) ) + '",' +;
StrToken( cline,3,'(' )
endif
if aufruf = "BTN"
VariablenListe := ")"
cToken:= ALLTRIM(cTxt) + "()"
endif
IF ALLTRIM(cToken)="TWindow()"
msginfo(VariablenListe)
& ("edit_TWindow(" + VariablenListe)
else
msginfo("not supported " + CRLF + cline)
ENDIF
endif
return nil
function TextToClip(;
nTop, nLeft, nBottom, nRight, cTitle, nStyle, oMenu,;
oBrush, oIcon, coWnd, lVScroll, lHScroll, nClrFore, nClrBack,;
oCursor, cBorder, lSysMenu, lCaption, lMin, lMax, lPixel,oParent )
local oClp
local cText := ;
"DEFINE WINDOW " + ALLTRIM(coWnd) + " ; " + CRLF + ;
"FROM " + str(nTop) + ", " + STR(nLeft) + " TO " + STR(nBottom) + ", " + STR(nRight) +" ; " + CRLF + ;
'TITLE "' + ALLTRIM(cTitle) + '" ; ' + CRLF
if len(ALLTRIM(oBrush))>0
cText := cText + "BRUSH " + ALLTRIM(oBrush) + " ; " + CRLF
endif
if len(ALLTRIM(oCursor))>0
cText := cText + "CURSOR " + ALLTRIM(oCursor) + " ; " + CRLF
endif
if len(ALLTRIM(oMenu))>0
cText := cText + "MENU " + ALLTRIM(oMenu) + " ; " + CRLF
endif
if len(ALLTRIM(oIcon))>0
cText := cText + "ICON " + ALLTRIM(oIcon) + " ; " + CRLF
endif
if len(ALLTRIM(oParent))>0
cText := cText + "OF " + ALLTRIM(oParent) + " ; " + CRLF
endif
if lVScroll =.t.
cText := cText + "VSCROLL " + " ; " + CRLF
endif
if lHScroll =.t.
cText := cText + "HSCROLL " + " ; " + CRLF
endif
if nClrFore > 0 .or. nClrBack > 0
cText := cText + "COLORS " + str(nClrFore) + " , " + str(nClrBack) + " ; " + CRLF
endif
if lPixel =.t.
cText := cText + "PIXEL " + " ; " + CRLF
endif
if len(ALLTRIM(cBorder))>0
cText := cText + "BORDER " + cBorder + " ; " + CRLF
endif
// cText := cText + "<HelpId: HELPID, HELP ID> <nHelpId> ; " + CRLF +;
if nStyle > 0
cText := cText + "STYLE " + str(nStyle) + " ; " + CRLF
endif
if lSysMenu = .t.
cText := cText + "NOSYSMENU " + " ; " + CRLF
endif
if lCaption =.t.
cText := cText + "NOCAPTION " + " ; " + CRLF
endif
if lMin =.t.
cText := cText + "NOICONIZE " + " ; " + CRLF
endif
if lMax =.t.
cText := cText + "NOMAXIMIZE " + " ; " + CRLF
endif
// "MDICHILD ; " + CRLF + ;
cText := ALLTRIM(cText)
cText := left(cText, (len(cText)-4))
DEFINE CLIPBOARD oClp OF oWnd
oClp:Clear()
oClp:SetText( (cText))
return nil
function edit_TWindow(cObjName,coWnd,nTop, nLeft, nBottom, nRight, cTitle, nStyle, oMenu, oBrush, oIcon,;
oParent, lVScroll, lHScroll, nClrFore, nClrBack, oCursor, cBorder, lSysMenu,;
lCaption, lMin, lMax, lPixel)
local odlg
local oGet
local aBorder := {" ","NONE" , "SINGLE" }
DEFAULT nTop := 2, nLeft := 2, nBottom := 20, nRight := 70,;
lVScroll := .f., lHScroll := .f.,;
nClrFore := GetSysColor( COLOR_WINDOWTEXT ),;
nClrBack := GetSysColor( COLOR_WINDOW ),;
nStyle := 0,;
cBorder := "SINGLE", lSysMenu := .t., lCaption := .t.,;
lMin := .t., lMax := .t., lPixel := .f., cTitle := "..."
cTitle:=cTitle + space(150)
DEFINE DIALOG oDlg RESOURCE "FENSTER"
REDEFINE GET oGet VAR coWnd ID 4002 of oDlg
REDEFINE GET oGet VAR cTitle ID 4009 of oDlg
REDEFINE GET oGet VAR nTop ID 4005 of oDlg PICTURE("9999")
REDEFINE GET oGet VAR nLeft ID 4006 of oDlg PICTURE("9999")
REDEFINE GET oGet VAR nBottom ID 4007 of oDlg PICTURE("9999")
REDEFINE GET oGet VAR nRight ID 4008 of oDlg PICTURE("9999")
REDEFINE GET oGet VAR nStyle ID 4041 of oDlg PICTURE("9999")
REDEFINE GET oGet VAR oMenu ID 4035 of oDlg
REDEFINE GET oGet VAR oBrush ID 4033 of oDlg
REDEFINE GET oGet VAR oIcon ID 4037 of oDlg
REDEFINE GET oGet VAR oParent ID 4038 of oDlg
REDEFINE CHECKBOX oGet VAR lVScroll ID 4017 of oDlg
REDEFINE CHECKBOX oGet VAR lHScroll ID 4018 of oDlg
REDEFINE GET oGet VAR nClrFore ID 4039 of oDlg
REDEFINE GET oGet VAR nClrBack ID 4040 of oDlg
REDEFINE GET oGet VAR oCursor ID 4034 of oDlg
REDEFINE COMBOBOX oGet VAR cBorder ITEMS aBorder ID 4027 of oDlg
REDEFINE CHECKBOX oGet VAR lSysMenu ID 4028 of oDlg
REDEFINE CHECKBOX oGet VAR lCaption ID 4029 of oDlg
REDEFINE CHECKBOX oGet VAR lMin ID 4030 of oDlg
REDEFINE CHECKBOX oGet VAR lMax ID 4031 of oDlg
REDEFINE CHECKBOX oGet VAR lPixel ID 4022 of oDlg
REDEFINE BUTTONBMP ID IDOK OF oDlg ACTION (TextToClip(;
nTop, nLeft, nBottom, nRight, cTitle, nStyle, oMenu,;
oBrush, oIcon, coWnd, lVScroll, lHScroll, nClrFore, nClrBack,;
oCursor, cBorder, lSysMenu, lCaption, lMin, lMax, lPixel,oParent ),oDlg:end())
ACTIVATE Dialog oDlg CENTERED
return nil
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US
FENSTER DIALOGEX DISCARDABLE 6, 18, 350, 290
STYLE WS_POPUP|DS_MODALFRAME|DS_CONTEXTHELP|DS_3DLOOK|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION " DEFINE WINDOW"
FONT 8, "MS Reference Sans Serif", 400, 0, 0
BEGIN
CONTROL "OK", IDOK, "Button", WS_TABSTOP, 284, 4, 45, 15
CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 284, 20, 45, 15
CONTROL " DEFINE WINDOW", 4001, "Static", WS_GROUP, 19, 13, 76, 8
CONTROL "", 4002, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 89, 11, 52, 12
CONTROL " MDICHILD", 4003, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 173, 13, 48, 10
CONTROL "FROM <nTop>, <nLeft> TO <nBottom>, <nRight>", 4004, "Static", WS_GROUP, 26, 68, 176, 8
CONTROL "", 4005, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 47, 80, 25, 12
CONTROL "", 4006, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 80, 80, 25, 12
CONTROL "", 4007, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 125, 80, 25, 12
CONTROL "", 4008, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 158, 80, 25, 12
CONTROL "", 4009, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 77, 102, 156, 12
CONTROL "TITLE", 4010, "Static", WS_GROUP, 37, 102, 40, 8
CONTROL "BRUSH", 4011, "Static", WS_GROUP, 37, 134, 40, 8
CONTROL "CURSOR", 4012, "Static", WS_GROUP, 37, 150, 40, 8
CONTROL "MENU", 4013, "Static", WS_GROUP, 37, 166, 40, 8
CONTROL "ICON", 4015, "Static", WS_GROUP, 37, 198, 40, 8
CONTROL "OF", 4016, "Static", WS_GROUP, 37, 118, 40, 8
CONTROL "VERTICAL SCROLL", 4017, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 58, 36, 84, 10
CONTROL "HORIZONTAL SCROLL", 4018, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 58, 48, 83, 10
CONTROL "COLOR", 4019, "Static", WS_GROUP, 35, 224, 28, 8
CONTROL "<nClrFore>", 4020, "Static", WS_GROUP, 88, 224, 40, 8
CONTROL "<nClrBack>", 4021, "Static", WS_GROUP, 88, 237, 40, 8
CONTROL "PIXEL", 4022, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 23, 35, 30, 10
CONTROL "STYLE", 4023, "Static", WS_GROUP, 24, 256, 40, 8
CONTROL "HELPID", 4024, "Static", WS_GROUP, 24, 272, 40, 8
CONTROL "<nHelpId>", 4025, "Static", WS_GROUP, 68, 272, 40, 8
CONTROL "BORDER", 4026, "Static", WS_GROUP, 143, 138, 40, 8
CONTROL "", 4027, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|WS_VSCROLL|WS_TABSTOP, 187, 137, 48, 40
CONTROL "NOSYSMENU", 4028, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 212, 32, 58, 10
CONTROL "NOCAPTION", 4029, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 212, 44, 52, 10
CONTROL "NOICONIZE", 4030, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 212, 56, 58, 10
CONTROL "", 4033, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 77, 134, 40, 12
CONTROL "", 4034, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 77, 150, 40, 12
CONTROL "", 4035, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 77, 166, 40, 12
CONTROL "", 4037, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 77, 198, 40, 12
CONTROL "", 4038, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 77, 118, 40, 12
CONTROL "", 4039, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 136, 223, 40, 12
CONTROL "", 4040, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 136, 236, 40, 12
CONTROL "", 4041, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 60, 256, 40, 12
CONTROL "", 4042, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 108, 272, 40, 12
CONTROL "NoMaximize", 4031, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 212, 68, 48, 10
END
function objectInspector(cObjName,oWnd,nTop, nLeft, nBottom, nRight, cTitle, nStyle, oMenu, oBrush, oIcon, oParent, lVScroll, lHScroll, nClrFore, nClrBack, oCursor, cBorder, lSysMenu, lCaption, lMin, lMax, lPixel)
local oWndlocal, oBrw
local aData := { { "A edit", "text", EDIT_GET },;
{ "A combobox", "test", EDIT_LISTBOX, { "One", "Two", "Three" } },;
{ "A dialog", "result", EDIT_BUTTON, { || MsgYesNo( "Select a value" ) } } }
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: Google [Bot] and 81 guests