Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Combobox ?
#1
Hi Gintaras !

What im trying to do :

i want to show the on desktop saved notepads in a dropdown combobox , no problem so far,now i want to show the fileinfo if i select one.
i know how to use .getfile etc. and i know how to bring the data of the selected file to an other combo or listbox but i want it in the same box if possible!?

here my code so far ;

Function Dialog342
Code:
Copy      Help
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages

;BEGIN DIALOG
;0 "" 0x90CA0AC8 0x0 0 0 145 107 "Dialog"
;3 ComboBox 0x54230243 0x0 28 16 94 213 ""
;END DIALOG
;DIALOG EDITOR: "" 0x2030202 "*" "" ""

str controls = "3"
str cb3
cb3= "&Select List"

if(!ShowDialog("Dialog342" &Dialog342 &controls)) ret
ret
;messages
sel message
,case WM_INITDIALOG

,ARRAY(str) a; int i
,GetFilesInFolder a "$desktop$\" "*.txt"
,for i 0 a.len
,,_s=a[i]
,,_s.getfilename
,,CB_Add id(3 hDlg) _s

,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1

best regards.
#2
Change combo box item text when you select it?
Or add more items with file info?
Why not to display the info in a static or edit control?
#3
yes ,change combo box item text when i select it. lets say i got some settings saved in a notepad and when i select one it displays it in the same box.I want to use it instead of a drag n drop combobox.
#4
Function Dialog342
Code:
Copy      Help
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages

;BEGIN DIALOG
;0 "" 0x90CA0AC8 0x0 0 0 145 107 "Dialog"
;3 ComboBox 0x54230243 0x0 28 16 94 213 ""
;END DIALOG
;DIALOG EDITOR: "" 0x2030202 "*" "" ""

str controls = "3"
str cb3
cb3= "&Select List"

if(!ShowDialog("Dialog342" &Dialog342 &controls)) ret
ret
;messages
sel message
,case WM_INITDIALOG

,ARRAY(str) a; int i
,GetFilesInFolder a "$desktop$\" "*.txt"
,for i 0 a.len
,,_s=a[i]
,,_s.getfilename
,,CB_Add id(3 hDlg) _s

,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case CBN_DROPDOWN<<16|3
,SendMessage lParam CB_RESETCONTENT 0 0
,;and now add all items again, like you did it under WM_INITDIALOG. You even don't have to do it under WM_INITDIALOG.
,
,case IDOK
,case IDCANCEL
ret 1
#5
I figured out how to do what i was looking for
Im not sure if it is the right way !? maybe u can clean it up a bit

Function Dialog2
Code:
Copy      Help
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages

;BEGIN DIALOG
;0 "" 0x90CA0AC8 0x0 0 0 183 82 "Dialog"
;3 ComboBox 0x54230243 0x0 10 26 94 213 ""
;6 Button 0x54032000 0x0 110 26 48 14 "Refresh"
;7 Button 0x54032007 0x0 4 4 170 62 ""
;END DIALOG
;DIALOG EDITOR: "" 0x2030202 "*" "" ""

str controls = "3"
str cb3
cb3= "&Select List"

if(!ShowDialog("Dialog2" &Dialog2 &controls)) ret
ret
;messages
sel message
,case WM_INITDIALOG

,ARRAY(str) a; int i
,GetFilesInFolder a "$desktop$\" "*.txt"
,for i 0 a.len
,,_s=a[i]
,,_s.getfilename
,,CB_Add id(3 hDlg) _s

,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case CBN_CLOSEUP<<16|3

,str s s2
,int hcb=id(3 hDlg)
,_i =(CB_SelectedItem(id(3 hDlg) s)>= 0)
,s.from("$desktop$\" s ".txt")
,s2.getfile(s)
,err ret
,SendMessage hcb CB_RESETCONTENT 0 0
,foreach s s2
,,CB_Add hcb s
,CB_SelectItem hcb 0

,case 6
,mac "Refresh"
,case IDOK
,case IDCANCEL
ret 1


Function to refresh the box

Function Refresh
Code:
Copy      Help
int hDlg=win("Dialog" "#32770")
int hcb=id(3 hDlg)

SendMessage hcb CB_RESETCONTENT 0 0
ARRAY(str) a; int i
GetFilesInFolder a "$desktop$\" "*.txt"
for i 0 a.len
,_s=a[i]
,_s.getfilename
,CB_Add hcb "Select List"
,CB_Add hcb _s
,CB_SelectItem hcb 0


As i already said im not sure if that is the right way and im still learning so maybe this code gives u a smile Big Grin but it works..

best regards
#6
Function Dialog342
Code:
Copy      Help
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages

;BEGIN DIALOG
;0 "" 0x90CA0AC8 0x0 0 0 145 107 "Dialog"
;3 ComboBox 0x54230243 0x0 28 16 94 213 ""
;END DIALOG
;DIALOG EDITOR: "" 0x2030202 "*" "" ""

str controls = "3"
str cb3
cb3= "&Select List"

if(!ShowDialog("Dialog342" &Dialog342 &controls)) ret
ret
;messages
sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case CBN_DROPDOWN<<16|3
,SendMessage lParam CB_RESETCONTENT 0 0
,ARRAY(str) a; int i
,GetFilesInFolder a "$desktop$\" "*.txt"
,for i 0 a.len
,,CB_Add lParam a[i].getfilename
,
,case CBN_SELENDOK<<16|3
,_i=CB_SelectedItem(lParam _s)
,out _i
,out _s
,
,case CBN_CLOSEUP<<16|3
,SendMessage lParam CB_RESETCONTENT 0 0
,SendMessage lParam CB_SETCURSEL CB_Add(lParam "Select List") 0 ;;don't use CB_SelectItem because it notifies dialog, ie sends CBN_SELENDOK
,
,case IDOK
,case IDCANCEL
ret 1
#7
this does not what mine does! but its ok i will use mine...

thank you
best regards


Forum Jump:


Users browsing this thread: 1 Guest(s)