hi all !
i had written a proc use tab controls. but eath item always on the top of the tab dialog box. i want to change eath item display on the left. how i can do this ?

would you like to give me some examples :)

BTW: sorry for my BADDDDDD english !
Posted on 2003-12-14 00:43:23 by benny
Use the TCS_VERTICAL style when you create the tab control or set it afterwards using SetWndowLong. Windows XP styles and Common Controls version 6 do not support the TCS_VERTICAL style.

invoke GetWndowLong,hTab,GWL_STYLE

or eax,TCS_VERTICAL
invoke SetWndowLong, hTab,GWL_STYLE, eax
Posted on 2003-12-14 01:02:13 by donkey
thank you!!! i will try it again :)
Posted on 2003-12-14 01:20:36 by benny
hi donkey!
but TCS_VERTICAL was undefined, AND i fround some useful example. you see:

.const
TCS_SCROLLOPPOSITE equ 0001h
TCS_BOTTOM equ 0002h ; here!!!
TCS_FLATBUTTONS equ 0008h
TCS_HOTTRACK equ 0040h
TCS_EX_FLATSEPARATORS equ 0001h
;
.code
INVOKE CreateWindowEx, NULL, addr TabClass, NULL,\
WS_CHILD or WS_VISIBLE or TCS_BOTTOM or TCS_HOTTRACK or\
TCS_FOCUSNEVER or WS_CLIPSIBLINGS or WS_CLIPCHILDREN or TCS_OWNERDRAWFIXED,\
0, 0, 0, 0, hwnd, 702, hInst, 0
mov hTab, eax

now, my question is
TCS_VERTICAL equ ???
TCS_LEFT equ ???
TCS_RIGHT equ ???

thank u very much !!!
Posted on 2003-12-14 07:49:13 by benny
Here's the full list up to Common Controls Version 5.xx

TCS_SCROLLOPPOSITE      equ   0001h

TCS_BOTTOM equ 0002h
TCS_RIGHT equ 0002h
TCS_MULTISELECT equ 0004h
TCS_FLATBUTTONS equ 0008h
TCS_FORCEICONLEFT equ 0010h
TCS_FORCELABELLEFT equ 0020h
TCS_HOTTRACK equ 0040h
TCS_VERTICAL equ 0080h
TCS_TABS equ 0000h
TCS_BUTTONS equ 0100h
TCS_SINGLELINE equ 0000h
TCS_MULTILINE equ 0200h
TCS_RIGHTJUSTIFY equ 0000h
TCS_FIXEDWIDTH equ 0400h
TCS_RAGGEDRIGHT equ 0800h
TCS_FOCUSONBUTTONDOWN equ 1000h
TCS_OWNERDRAWFIXED equ 2000h
TCS_TOOLTIPS equ 4000h
TCS_FOCUSNEVER equ 8000h
Posted on 2003-12-14 10:20:44 by donkey
thank you ! i will copy & paste them :)
Posted on 2003-12-14 20:07:05 by benny
good afternoon donkey.
i have an other tab question, how i can change tab control's color? which message i can use ?
Posted on 2003-12-14 21:00:29 by benny
You can probably subclass it and process the WM_ERASEBKGND message. If not I think it sends an NM_CUSTOMDRAW message in the form of a WM_NOTIFY notification.
Posted on 2003-12-14 22:07:17 by donkey
i read of the win32.hlp, and found this message:

WM_DRAWITEM

and the control type is:

ODT_TAB

THANK U FOR U IDEAs !
Posted on 2003-12-15 01:35:32 by benny