The problem is also seen, when the entered text (by using the keyboard) is identical with any combo gadget list entry. I have only used SetGadgetText to simulate this.
Code: Select all
; Define
#WinW=720
#WinH=552
#WinZ=400
Global WinID
Enumeration
#StrName; 0
#StrExt; 1
#StrOutput; 2
#WinID
#Frm01
#Frm02
#Frm03
#TxtInfo
#TxtName
#TxtExt
#TxtOutput
#StrInfo
#TxtSearch
#TxtReplace
#FlgOutCase
#FlgFirst
#FlgNameOnly
#FlgCase
#FlgAll
#FlgDate
#List
#ButRename
#ButClose
#ButProfile
#ButFilter
#TxtWriteName
#TxtWriteExt
#StrSearch
#StrReplace
#StrWriteName; \
#StrWriteExt ; /
EndEnumeration
Enumeration
#ListPath
#ListOldName
#ListNewName
#ListSize
#ListDate
#ListState
EndEnumeration
; EndDefine
Procedure Events()
Protected x,y,n,m
If EventWindow()=#WinID
x=WindowWidth(#WinID)
y=WindowHeight(#WinID)
If GadgetWidth(#TxtInfo)=x
ResizeGadget(#List,#PB_Ignore,#PB_Ignore,#PB_Ignore,y-262)
ResizeGadget(#TxtInfo,#PB_Ignore,y-22,#PB_Ignore,#PB_Ignore)
ResizeGadget(#StrInfo,#PB_Ignore,y-18,#PB_Ignore,#PB_Ignore)
Else
SendMessage_(WindowID(#WinID),#WM_SETREDRAW,#False,0); SPEEDUP (WINDOWS)
n=(x-#WinW)/5
ResizeGadget(#List,#PB_Ignore,#PB_Ignore,x-26,y-262)
ResizeGadget(#TxtInfo,#PB_Ignore,y-22,x,#PB_Ignore)
ResizeGadget(#StrInfo,#PB_Ignore,y-18,#PB_Ignore,#PB_Ignore)
y=n<<1
m=n<<2
ResizeGadget(#Frm01,#PB_Ignore,#PB_Ignore,565+m,#PB_Ignore)
ResizeGadget(#Frm02,#PB_Ignore,#PB_Ignore,565+m,#PB_Ignore)
ResizeGadget(#Frm03,#PB_Ignore,#PB_Ignore,x-26,#PB_Ignore)
x=y-n>>2
ResizeGadget(#StrName,#PB_Ignore,#PB_Ignore,207+x,#PB_Ignore);
ResizeGadget(#StrOutput,#PB_Ignore,#PB_Ignore,207+x,#PB_Ignore);
ResizeGadget(#TxtExt,345+y,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#StrExt,430+y,#PB_Ignore,125+x,#PB_Ignore);
ResizeGadget(#FlgOutCase,346+y,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#StrSearch,#PB_Ignore,#PB_Ignore,207+x,#PB_Ignore);
ResizeGadget(#StrReplace,#PB_Ignore,#PB_Ignore,207+x,#PB_Ignore);
ResizeGadget(#FlgFirst,346+y,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#FlgNameOnly,465+y+n,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#FlgCase,346+y,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#FlgAll,346+y,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#StrWriteName,#PB_Ignore,#PB_Ignore,135+n,#PB_Ignore);
ResizeGadget(#TxtWriteExt,275+y,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#StrWriteExt,356+y,#PB_Ignore,135+n,#PB_Ignore);
ResizeGadget(#FlgDate,550+x+y+n,#PB_Ignore,#PB_Ignore,#PB_Ignore);
ResizeGadget(#ButRename,585+m,#PB_Ignore,115+n,#PB_Ignore);
ResizeGadget(#ButClose,585+m,#PB_Ignore,115+n,#PB_Ignore);
ResizeGadget(#ButProfile,585+m,#PB_Ignore,115+n,#PB_Ignore);
ResizeGadget(#ButFilter,585+m,#PB_Ignore,115+n,#PB_Ignore) ;
SetGadgetItemAttribute(#List,#PB_Ignore,#PB_ListIcon_ColumnWidth,210+y,#ListOldName)
SetGadgetItemAttribute(#List,#PB_Ignore,#PB_ListIcon_ColumnWidth,210+y,#ListNewName)
SetGadgetItemAttribute(#List,#PB_Ignore,#PB_ListIcon_ColumnWidth,78+n,#ListState)
SendMessage_(WindowID(#WinID),#WM_SETREDRAW,#True,0); SPEEDUP (WINDOWS)
RedrawWindow_(WindowID(#WinID),#Null,#Null,#RDW_INVALIDATE|#RDW_ERASE); SPEEDUP (WINDOWS)
EndIf
EndIf
EndProcedure
Procedure Init()
Protected i
WinID=OpenWindow(#WinID,0,0,#WinW,#WinH,"",#WS_SYSMENU|#PB_Window_ScreenCentered|#PB_Window_Invisible|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget)
FrameGadget(#Frm01,10,10,560,72,"A")
TextGadget(#TxtName,20,30,60,20,"B:",#SS_CENTERIMAGE)
ComboBoxGadget(#StrName,105,29,207,22,#PB_ComboBox_Editable)
TextGadget(#TxtExt,345,30,75,20,"C:",#SS_CENTERIMAGE)
ComboBoxGadget(#StrExt,430,29,125,22,#PB_ComboBox_Editable)
TextGadget(#TxtOutput,20,55,60,20,"D:",#SS_CENTERIMAGE)
ComboBoxGadget(#StrOutput,105,54,207,22,#PB_ComboBox_Editable)
CheckBoxGadget(#FlgOutCase,346,55,175,22," E")
FrameGadget(#Frm02,10,90,560,72,"F")
TextGadget(#TxtSearch,20,110,100,20,"G:",#SS_CENTERIMAGE)
ComboBoxGadget(#StrSearch,105,109,207,22,#PB_ComboBox_Editable)
TextGadget(#TxtReplace,20,135,100,20,"H:",#SS_CENTERIMAGE)
ComboBoxGadget(#StrReplace,105,134,207,22,#PB_ComboBox_Editable)
CheckBoxGadget(#FlgFirst,346,104,109,18," I")
CheckBoxGadget(#FlgNameOnly,465,104,100,18," J")
CheckBoxGadget(#FlgCase,346,122,175,18," K")
CheckBoxGadget(#FlgAll,346,140,175,18," L")
FrameGadget(#Frm03,10,168,694,48,"M")
TextGadget(#TxtWriteName,20,188,75,20,"N:",#SS_CENTERIMAGE)
ComboBoxGadget(#StrWriteName,105,188,135,20)
TextGadget(#TxtWriteExt,275,188,70,20,"O:",#SS_CENTERIMAGE)
ComboBoxGadget(#StrWriteExt,346,188,135,20)
CheckBoxGadget(#FlgDate,550,188,140,18," P")
ListIconGadget(#List,10,230,694,285," ·",20,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines)
AddGadgetColumn(#List,#ListOldName,"A",210)
AddGadgetColumn(#List,#ListNewName,"B",210)
AddGadgetColumn(#List,#ListSize,"C",52)
AddGadgetColumn(#List,#ListDate,"D",102)
AddGadgetColumn(#List,#ListState,"E",78)
FrameGadget(#TxtInfo,0,530,#WinW,2,"",#PB_Frame_Single)
TextGadget(#StrInfo,0,534,999,16,"",#SS_CENTERIMAGE)
ButtonGadget(#ButRename,585,15,115,30,"Q",#PB_Button_Default)
ButtonGadget(#ButClose,585,53,115,30,"R")
ButtonGadget(#ButProfile,585,95,115,30,"S")
ButtonGadget(#ButFilter,585,132,115,30,"T",#PB_Button_Toggle)
For i=0 To 9
AddGadgetItem(#StrName,i,"Number "+Str(i))
AddGadgetItem(#StrExt,i,"Number "+Str(i))
AddGadgetItem(#StrOutput,i,"Number "+Str(i))
Next i
SetGadgetText(#StrName,"Number 3")
SetGadgetText(#StrExt,"Number 5")
SetGadgetText(#StrOutput,"Number 7")
AddKeyboardShortcut(#WinID,#PB_Shortcut_Escape,#ButClose)
BindEvent(#PB_Event_SizeWindow,@Events(),#WinID)
SetActiveWindow(#WinID)
SetActiveGadget(#StrName)
HideWindow(#WinID,#Null)
EndProcedure
Procedure Main()
Protected quit
Init()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu,#PB_Event_Gadget
Select EventGadget()
Case #ButClose
quit=1
EndSelect
Case #PB_Event_CloseWindow
quit=1
EndSelect
Until quit
EndProcedure
Main()