Jump to content

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Find out more here. X
X


Photo

Multilevel combobox


  • Please log in to reply
8 replies to this topic

#1 maba

maba

    Seeker

  • Active Members
  • 38 posts

Posted 24 February 2012 - 04:03 PM

Hi all,
probably I've do a very bad search..
Is not possible to have a "multilevel" combobox?

Item1 --subitem1 1 --subitem1 2 --subitem1 3 Item2 --subitem2 1 --subitem2 2 Item3 --subitem3 1 Item4 --subitem4 1 --subitem4 2 --subitem4 3 --subitem4 4 --subitem4 5


Item[1,2,3,4] are labels.
Thanks!







#2 Melba23

Melba23

    I'm old - what's your excuse?

  • Moderators
  • 19,889 posts

Posted 24 February 2012 - 04:30 PM

maba,

I do not think you can do it with styles. But you can always code something like this: ;)
AutoIt         
#include <GUIConstantsEx.au3> #include <GuiComboBox.au3> $sData = "Item1|--subitem1 1|--subitem1 2|--subitem1 3|Item2|--subitem2 1|--subitem2 2|Item3|--subitem3 1|Item4|--subitem4 1|--subitem4 2|--subitem4 3|--subitem4 4|--subitem4 5" $hGUI = GUICreate("Test", 500, 500) $cCombo = GUICtrlCreateCombo("", 10, 10, 200, 20) GUICtrlSetData(-1, $sData) GUISetState() While 1     Switch GUIGetMsg()         Case $GUI_EVENT_CLOSE             Exit         Case $cCombo             $sSel = GUICtrlRead($cCombo)             If StringLeft($sSel, 2) <> "--" Then                 _GUICtrlComboBox_SetEditText($cCombo, "")             Else                 MsgBox(0, "Combo Sel", $sSel)             EndIf     EndSwitch WEnd

Any help? :)

M23
StringSize - Automatically size controls to fit text                                                               ExtMsgBox - A user customisable replacement for MsgBox
Toast - Small GUIs which pop out of the Systray                                                                Marquee - Scrolling tickertape GUIs
Scrollbars - Automatically sized scrollbars with a single command                                   GUIFrame - Subdivide GUIs into many adjustable frames
GUIExtender - Extend and retract multiple sections within a GUI                                      NoFocusLines - Remove the dotted focus lines from buttons, sliders, radios and checkboxes
ChooseFileFolder - Single and multiple selections from specified path tree structure      Notify - Small notifications on the edge of the display
Date_Time_Convert - Easily convert date/time formats, including the language               GUIListViewEx - Insert, delete, move, drag, sort and edit ListView items

#3 maba

maba

    Seeker

  • Active Members
  • 38 posts

Posted 24 February 2012 - 04:46 PM

Oooh yes. Good start!
I'll try to apply a style to the "headers", and remove -- from the sub*. If is it possible.

As ever.. Thanks M23 :)

Edited by maba, 24 February 2012 - 04:47 PM.


#4 Melba23

Melba23

    I'm old - what's your excuse?

  • Moderators
  • 19,889 posts

Posted 24 February 2012 - 04:47 PM

maba,

As ever.. My pleasure. :)

M23
StringSize - Automatically size controls to fit text                                                               ExtMsgBox - A user customisable replacement for MsgBox
Toast - Small GUIs which pop out of the Systray                                                                Marquee - Scrolling tickertape GUIs
Scrollbars - Automatically sized scrollbars with a single command                                   GUIFrame - Subdivide GUIs into many adjustable frames
GUIExtender - Extend and retract multiple sections within a GUI                                      NoFocusLines - Remove the dotted focus lines from buttons, sliders, radios and checkboxes
ChooseFileFolder - Single and multiple selections from specified path tree structure      Notify - Small notifications on the edge of the display
Date_Time_Convert - Easily convert date/time formats, including the language               GUIListViewEx - Insert, delete, move, drag, sort and edit ListView items

#5 maba

maba

    Seeker

  • Active Members
  • 38 posts

Posted 24 February 2012 - 05:38 PM

Mmm.. use _GUICtrlComboBox_BeginUpdate and _GUICtrlComboBox_EndUpdate or _WM_DRAWITEM..?
Soooo hard sometime.

#6 maba

maba

    Seeker

  • Active Members
  • 38 posts

Posted 24 February 2012 - 10:06 PM

Silly test..
AutoIt         
#include <GUIConstantsEx.au3> #include <GuiComboBox.au3> $sData = "Item1|--subitem1 1|--subitem1 2|--subitem1 3|Item2|--subitem2 1|--subitem2 2|Item3|--subitem3 1|Item4|--subitem4 1|--subitem4 2|--subitem4 3|--subitem4 4|--subitem4 5" $hGUI = GUICreate("Test", 500, 500) $cCombo = GUICtrlCreateCombo("", 10, 10, 200, 20) GUICtrlSetData(-1, $sData) $cCombo2 = GUICtrlCreateCombo("", 10, 40, 200, 20, $CBS_DROPDOWNLIST) _GUICtrlComboBox_BeginUpdate($cCombo2) GUISetFont(-1, 800) $a = _GUICtrlComboBox_AddString($cCombo2, "Item1") GUICtrlSetFont($a, 800) GUICtrlCreateLabel("Bold", 250, 40) GUISetFont(-1, 400) _GUICtrlComboBox_AddString($cCombo2, "  subitem1 1") _GUICtrlComboBox_AddString($cCombo2, "  subitem1 2") GUICtrlCreateLabel("Normal", 250, 60) _GUICtrlComboBox_EndUpdate($cCombo2) GUISetState() While 1     Switch GUIGetMsg()         Case $GUI_EVENT_CLOSE             Exit         Case $cCombo             $sSel = GUICtrlRead($cCombo)             If StringLeft($sSel, 2) <> "--" Then                 _GUICtrlComboBox_SetEditText($cCombo, "")             Else                 MsgBox(0, "Combo Sel", $sSel)             EndIf     EndSwitch WEnd


I think that I have to use

_WM_MEASUREITEM _WM_DRAWITEM


:)

#7 maba

maba

    Seeker

  • Active Members
  • 38 posts

Posted 27 February 2012 - 10:36 PM

Melba23, watch your crystal ball and tell me if it is possible? :oops:

$cCombo2 = GUICtrlCreateCombo("", 10, 40, 200, 20, $CBS_DROPDOWNLIST) _GUICtrlComboBox_BeginUpdate($cCombo2) ; for cycle     _GUICtrlComboBox_AddString($cCombo2, "Item1") ;<<<<<<<<<<<<<<<<<<<<<<< how to make this bold?         ; other for cycle         _GUICtrlComboBox_AddString($cCombo2, "  subitem1 1")         _GUICtrlComboBox_AddString($cCombo2, "  subitem1 2") _GUICtrlComboBox_EndUpdate($cCombo2)


#8 Melba23

Melba23

    I'm old - what's your excuse?

  • Moderators
  • 19,889 posts

Posted 28 February 2012 - 09:12 AM

maba,

This is the only "coloured combo" script I have seen posted - a full owner-drawn affair. :oops:

But as for as incorporating it into your script, you are on your own. :bye:

M23
StringSize - Automatically size controls to fit text                                                               ExtMsgBox - A user customisable replacement for MsgBox
Toast - Small GUIs which pop out of the Systray                                                                Marquee - Scrolling tickertape GUIs
Scrollbars - Automatically sized scrollbars with a single command                                   GUIFrame - Subdivide GUIs into many adjustable frames
GUIExtender - Extend and retract multiple sections within a GUI                                      NoFocusLines - Remove the dotted focus lines from buttons, sliders, radios and checkboxes
ChooseFileFolder - Single and multiple selections from specified path tree structure      Notify - Small notifications on the edge of the display
Date_Time_Convert - Easily convert date/time formats, including the language               GUIListViewEx - Insert, delete, move, drag, sort and edit ListView items

#9 maba

maba

    Seeker

  • Active Members
  • 38 posts

Posted 28 February 2012 - 03:24 PM

Ok, ok.. no bolded text for now :oops:
Thanks




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users