-
Adding Columns to comboboxes through API
Does anyone know how to add columns to comboboxes through API. I have seen
it done before but cannot figure out how. Can anyone help me?
-
Re: Adding Columns to comboboxes through API
Lori,
>Does anyone know how to add columns to comboboxes through API. I have seen
>it done before but cannot figure out how. Can anyone help me?
There's no way to do thatwith a regular Combobox. The options you have
are to use a fixed-width font, create an owner-draw Combobox control
and draw the columns yourself, or find a third-party control that
supports it.
Mattias
____________________________________________
Mattias Sjögren - mattiass @ hem.passagen.se
http://hem.spray.se/mattias.sjogren/
-
Re: Adding Columns to comboboxes through API
mattiass,
AFAIK this is possible. I am pretty sure I have seen it in VBPJ before. I
don't think it works that well because if an item goes past the tab it pushes
everything over in the other columns.
Michael Culley
mattiass.dont.want.spam@hem.passagen.se (Mattias Sjögren) wrote:
>Lori,
>
>>Does anyone know how to add columns to comboboxes through API. I have
seen
>>it done before but cannot figure out how. Can anyone help me?
>
>There's no way to do thatwith a regular Combobox. The options you have
>are to use a fixed-width font, create an owner-draw Combobox control
>and draw the columns yourself, or find a third-party control that
>supports it.
>
>
>Mattias
>
>____________________________________________
>Mattias Sjögren - mattiass @ hem.passagen.se
> http://hem.spray.se/mattias.sjogren/
-
Re: Adding Columns to comboboxes through API
You need to use the SendMessage API and set tabstops. This breaks your
combo box into 'columns' in a sense. When you add text, you need to
separate each part via a tab char (vbTab). You can find sample code for
this at: http://www.mvps.org/vbnet
--
Eric D. Burdo, Red-Leif International
VB Programmer and Consultant
<http://www.redleif.com>
*** Please reply to the newsgroup so all can benefit. ***
"Lori Taylor" <latwv@yahoo.com> wrote in message
news:393e4392$1@news.devx.com...
>
> Does anyone know how to add columns to comboboxes through API. I have
seen
> it done before but cannot figure out how. Can anyone help me?
-
Re: Adding Columns to comboboxes through API
Eric -
The last time I looked, there was no CB_SETTABSTOPS message (believe me,
I've tried looking for it).
This is what is in winuser.h
/*
* Combo Box messages
*/
#ifndef NOWINMESSAGES
#define CB_GETEDITSEL 0x0140
#define CB_LIMITTEXT 0x0141
#define CB_SETEDITSEL 0x0142
#define CB_ADDSTRING 0x0143
#define CB_DELETESTRING 0x0144
#define CB_DIR 0x0145
#define CB_GETCOUNT 0x0146
#define CB_GETCURSEL 0x0147
#define CB_GETLBTEXT 0x0148
#define CB_GETLBTEXTLEN 0x0149
#define CB_INSERTSTRING 0x014A
#define CB_RESETCONTENT 0x014B
#define CB_FINDSTRING 0x014C
#define CB_SELECTSTRING 0x014D
#define CB_SETCURSEL 0x014E
#define CB_SHOWDROPDOWN 0x014F
#define CB_GETITEMDATA 0x0150
#define CB_SETITEMDATA 0x0151
#define CB_GETDROPPEDCONTROLRECT 0x0152
#define CB_SETITEMHEIGHT 0x0153
#define CB_GETITEMHEIGHT 0x0154
#define CB_SETEXTENDEDUI 0x0155
#define CB_GETEXTENDEDUI 0x0156
#define CB_GETDROPPEDSTATE 0x0157
#define CB_FINDSTRINGEXACT 0x0158
#define CB_SETLOCALE 0x0159
#define CB_GETLOCALE 0x015A
#if(WINVER >= 0x0400)
#define CB_GETTOPINDEX 0x015b
#define CB_SETTOPINDEX 0x015c
#define CB_GETHORIZONTALEXTENT 0x015d
#define CB_SETHORIZONTALEXTENT 0x015e
#define CB_GETDROPPEDWIDTH 0x015f
#define CB_SETDROPPEDWIDTH 0x0160
#define CB_INITSTORAGE 0x0161
#endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0400)
#define CB_MSGMAX 0x0162
#else
#define CB_MSGMAX 0x015B
#endif
#endif /* !NOWINMESSAGES */
--
---------------------------------------
Mark Alexander Bertenshaw
Programmer/Analyst
Prime Response
Brentford
UK
"Eric D. Burdo" <vbtips@redleif.com> wrote in message
news:393fafda$1@news.devx.com...
> You need to use the SendMessage API and set tabstops. This breaks your
> combo box into 'columns' in a sense. When you add text, you need to
> separate each part via a tab char (vbTab). You can find sample code for
> this at: http://www.mvps.org/vbnet
>
> --
>
> Eric D. Burdo, Red-Leif International
> VB Programmer and Consultant
> <http://www.redleif.com>
>
> *** Please reply to the newsgroup so all can benefit. ***
> "Lori Taylor" <latwv@yahoo.com> wrote in message
> news:393e4392$1@news.devx.com...
> >
> > Does anyone know how to add columns to comboboxes through API. I have
> seen
> > it done before but cannot figure out how. Can anyone help me?
>
>
-
Re: Adding Columns to comboboxes through API
"Mark Alexander Bertenshaw" <Mark.Bertenshaw@virgin.net> wrote in message
news:39402d6d@news.devx.com...
: The last time I looked, there was no CB_SETTABSTOPS message (believe me,
: I've tried looking for it).
I think Eric was thinking of LB_SETTABSTOPS... but what happens if you send
LB_SETTABSTOPS to the listbox portion of the combobox (not in Dropdown List,
obviously)?
--
Damit Senanayake | damit@mvps.org | http://members.xoom.com/damit
Please reply to newsgroups, not by e-mail. | ICQ: 6930718
-
Re: Adding Columns to comboboxes through API
Damit -
I tried to enumerate windows on the _DropDown event last time, and I didn't
find any more child controls other than an edit control. Just to humour
you, I tried again, but then I noticed that the list box portion overlapped
the edge of the window. Then I remembered that the list box is on the
desktop window. So looking there, I discovered a window of class
"ComboLBox". I tried sending LB_SETTABSTOPS to it, and it crashed. I will
try again, but it is getting very late.
Cheers,
--
---------------------------------------
Mark Alexander Bertenshaw
Programmer/Analyst
Prime Response
Brentford
UK
"Damit Senanayake" <damit@mvps.org> wrote in message
news:3940e3cc@news.devx.com...
> "Mark Alexander Bertenshaw" <Mark.Bertenshaw@virgin.net> wrote in message
> news:39402d6d@news.devx.com...
>
> : The last time I looked, there was no CB_SETTABSTOPS message (believe me,
> : I've tried looking for it).
>
> I think Eric was thinking of LB_SETTABSTOPS... but what happens if you
send
> LB_SETTABSTOPS to the listbox portion of the combobox (not in Dropdown
List,
> obviously)?
>
> --
> Damit Senanayake | damit@mvps.org | http://members.xoom.com/damit
> Please reply to newsgroups, not by e-mail. | ICQ: 6930718
>
>
>
>
-
Re: Adding Columns to comboboxes through API
Hi Mark,
: I tried to enumerate windows on the _DropDown event last time, and I
didn't
: find any more child controls other than an edit control.
Hmm... actually, I also realized (after posting :-( ) that the listbox is a
child of the desktop.
:I tried sending LB_SETTABSTOPS to it, and it crashed.
That's interesting. What was the error, and what crashed? The
desktop/Explorer? I suppose it would have been an access violation, since
the lpiTabs parameter points to la-la land in the desktop's address space...
looks like yet another job for SHLoadInProc! <vbg>
Well, you don't need to put yourself out doing it; I was just giving a WAG.
:-)
--
Damit Senanayake | damit@mvps.org | http://members.xoom.com/damit
Please reply to newsgroups, not by e-mail. | ICQ: 6930718
-
Re: Adding Columns to comboboxes through API
Damit -
> Well, you don't need to put yourself out doing it; I was just giving a
WAG.
> :-)
That's all right, I only looked into it because I was interested. And yes,
it was an Access Violation - but that's because I used the wrong declaration
:-( I tried again, and it just doesn't work.
BTW - what's a WAG?
--
---------------------------------------
Mark Alexander Bertenshaw
Programmer/Analyst
Prime Response
Brentford
UK
-
Re: Adding Columns to comboboxes through API
WAG = Wild *** Guess.
--
Paul Little, Senior Programmer/Analyst
SVi Retail Systems
San Diego, CA
"Mark Alexander Bertenshaw" <Mark.Bertenshaw@virgin.net> wrote in message
news:39421818$1@news.devx.com...
> BTW - what's a WAG?
-
Re: Adding Columns to comboboxes through API
Too tacky! I only use SWAGs (Scientific Wild *** Guess).
Paul Little <PLittle@SViRetail.com> wrote in message
news:3946d93d$1@news.devx.com...
> WAG = Wild *** Guess.
> --
> Paul Little, Senior Programmer/Analyst
> SVi Retail Systems
> San Diego, CA
>
> "Mark Alexander Bertenshaw" <Mark.Bertenshaw@virgin.net> wrote in message
> news:39421818$1@news.devx.com...
>
> > BTW - what's a WAG?
>
>
>
-
Re: Adding Columns to comboboxes through API
Lori,
>Does anyone know how to add columns to comboboxes through API. I have seen
>it done before but cannot figure out how. Can anyone help me?
There's no way to do thatwith a regular Combobox. The options you have
are to use a fixed-width font, create an owner-draw Combobox control
and draw the columns yourself, or find a third-party control that
supports it.
Mattias
____________________________________________
Mattias Sjögren - mattiass @ hem.passagen.se
http://hem.spray.se/mattias.sjogren/
-
Re: Adding Columns to comboboxes through API
mattiass,
AFAIK this is possible. I am pretty sure I have seen it in VBPJ before. I
don't think it works that well because if an item goes past the tab it pushes
everything over in the other columns.
Michael Culley
mattiass.dont.want.spam@hem.passagen.se (Mattias Sjögren) wrote:
>Lori,
>
>>Does anyone know how to add columns to comboboxes through API. I have
seen
>>it done before but cannot figure out how. Can anyone help me?
>
>There's no way to do thatwith a regular Combobox. The options you have
>are to use a fixed-width font, create an owner-draw Combobox control
>and draw the columns yourself, or find a third-party control that
>supports it.
>
>
>Mattias
>
>____________________________________________
>Mattias Sjögren - mattiass @ hem.passagen.se
> http://hem.spray.se/mattias.sjogren/
-
Re: Adding Columns to comboboxes through API
You need to use the SendMessage API and set tabstops. This breaks your
combo box into 'columns' in a sense. When you add text, you need to
separate each part via a tab char (vbTab). You can find sample code for
this at: http://www.mvps.org/vbnet
--
Eric D. Burdo, Red-Leif International
VB Programmer and Consultant
<http://www.redleif.com>
*** Please reply to the newsgroup so all can benefit. ***
"Lori Taylor" <latwv@yahoo.com> wrote in message
news:393e4392$1@news.devx.com...
>
> Does anyone know how to add columns to comboboxes through API. I have
seen
> it done before but cannot figure out how. Can anyone help me?
-
Re: Adding Columns to comboboxes through API
Eric -
The last time I looked, there was no CB_SETTABSTOPS message (believe me,
I've tried looking for it).
This is what is in winuser.h
/*
* Combo Box messages
*/
#ifndef NOWINMESSAGES
#define CB_GETEDITSEL 0x0140
#define CB_LIMITTEXT 0x0141
#define CB_SETEDITSEL 0x0142
#define CB_ADDSTRING 0x0143
#define CB_DELETESTRING 0x0144
#define CB_DIR 0x0145
#define CB_GETCOUNT 0x0146
#define CB_GETCURSEL 0x0147
#define CB_GETLBTEXT 0x0148
#define CB_GETLBTEXTLEN 0x0149
#define CB_INSERTSTRING 0x014A
#define CB_RESETCONTENT 0x014B
#define CB_FINDSTRING 0x014C
#define CB_SELECTSTRING 0x014D
#define CB_SETCURSEL 0x014E
#define CB_SHOWDROPDOWN 0x014F
#define CB_GETITEMDATA 0x0150
#define CB_SETITEMDATA 0x0151
#define CB_GETDROPPEDCONTROLRECT 0x0152
#define CB_SETITEMHEIGHT 0x0153
#define CB_GETITEMHEIGHT 0x0154
#define CB_SETEXTENDEDUI 0x0155
#define CB_GETEXTENDEDUI 0x0156
#define CB_GETDROPPEDSTATE 0x0157
#define CB_FINDSTRINGEXACT 0x0158
#define CB_SETLOCALE 0x0159
#define CB_GETLOCALE 0x015A
#if(WINVER >= 0x0400)
#define CB_GETTOPINDEX 0x015b
#define CB_SETTOPINDEX 0x015c
#define CB_GETHORIZONTALEXTENT 0x015d
#define CB_SETHORIZONTALEXTENT 0x015e
#define CB_GETDROPPEDWIDTH 0x015f
#define CB_SETDROPPEDWIDTH 0x0160
#define CB_INITSTORAGE 0x0161
#endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0400)
#define CB_MSGMAX 0x0162
#else
#define CB_MSGMAX 0x015B
#endif
#endif /* !NOWINMESSAGES */
--
---------------------------------------
Mark Alexander Bertenshaw
Programmer/Analyst
Prime Response
Brentford
UK
"Eric D. Burdo" <vbtips@redleif.com> wrote in message
news:393fafda$1@news.devx.com...
> You need to use the SendMessage API and set tabstops. This breaks your
> combo box into 'columns' in a sense. When you add text, you need to
> separate each part via a tab char (vbTab). You can find sample code for
> this at: http://www.mvps.org/vbnet
>
> --
>
> Eric D. Burdo, Red-Leif International
> VB Programmer and Consultant
> <http://www.redleif.com>
>
> *** Please reply to the newsgroup so all can benefit. ***
> "Lori Taylor" <latwv@yahoo.com> wrote in message
> news:393e4392$1@news.devx.com...
> >
> > Does anyone know how to add columns to comboboxes through API. I have
> seen
> > it done before but cannot figure out how. Can anyone help me?
>
>
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks