News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Common and Uncommon Window Classes

Started by guga, September 09, 2014, 03:28:17 PM

Previous topic - Next topic

guga

Here is a list of 63 common and "not so common" Window Classes that can be used with CreateWindowsEx or other methods that uses their dlls loaded (as in mfc classes)

WC_BUTTON "Button"
WC_COMBOBOX "ComboBox"
WC_COMBOBOXEX32 "ComboBoxEx32"
WC_COMBOLBOX "ComboLBox"
WC_COMMCTRL_DRAGLISTMSG "commctrl_DragListMsg"
WC_CONTROLBAR "AfxControlBar"
WC_DDEMLEVENT "DDEMLEvent"
WC_DESKTOP "#32769"
WC_DIALOGBOX "#32770"
WC_EDIT "Edit"
WC_HTML_INTERNET_EXPLORER "HTML_Internet Explorer"
WC_ICONTITLE "#32772"
WC_IE "Internet Explorer_Server"
WC_LISTBOX "ListBox"
WC_MDICLIENT "MDIClient"
WC_MENU "#32768"
WC_MESSAGE "Message"
WC_MFCDIALOGBAR "MfcDialogBar"
WC_MFCFRAME "MfcFrame"
WC_MFCMDICHILD "MfcFrameMDIChild"
WC_MFCMDIFRAME "MfcFrameMDI"
WC_MFCMINIDOCKFRAME "MfcFrameMiniDock"
WC_MFCMINIFRAME "MfcFrameMini"
WC_MFCSPLITTER "MfcSplitter"
WC_MFCVIEW "MfcView"
WC_MFCWND "MfcWnd"
WC_MSCTLS_HOTKEY32 "msctls_hotkey32"
WC_MSCTLS_PROGRESS32 "msctls_progress32"
WC_MSCTLS_STATUSBAR32 "msctls_statusbar32"
WC_MSCTLS_TRACKBAR32 "msctls_trackbar32"
WC_MSCTLS_UPDOWN16 "msctls_updown"
WC_MSCTLS_UPDOWN32 "msctls_updown32"
WC_MSTASKSWWCLASS "MSTaskSwWClass"
WC_NATIVEFONTCTL "NativeFontCtl"
WC_OCHOST "OCHost"
WC_OPENLISTVIEW "OpenListView"
WC_REBARWINDOW32 "ReBarWindow32"
WC_RICHEDIT "Richedit"
WC_RICHEDIT20 "RichEdit20W"
WC_RICHEDIT20A "RichEdit20a"
WC_RICHEDIT50W "RichEdit50W"
WC_SCROLLBAR "Scrollbar"
WC_SHDOCOBJVW "Shell DocObject View"
WC_SHELLDLLDEFVIEW "SHELLDLL_DefView"
WC_SHELLEMBEDDING "Shell Embedding"
WC_STATIC "Static"
WC_SWITCHWND "#32771"
WC_SYSANIMATE32 "SysAnimate32"
WC_SYSDATETIMEPICK32 "SysDateTimePick32"
WC_SYSHEADER32 "SysHeader32"
WC_SYSIPADDRESS32 "SysIPAddress32"
WC_SYSLINK "SysLink"
WC_SYSLISTVIEW32 "SysListView32"
WC_SYSMONTHCAL32 "SysMonthCal32"
WC_SYSPAGER "SysPager"
WC_SYSTABCONTROL32 "SysTabControl32"
WC_SYSTREEVIEW32 "SysTreeView32"
WC_THUMBNAILVIEW "ThumbnailVwExtWnd32"
WC_TOOLBARWINDOW32 "ToolbarWindow32"
WC_TOOLTIPS_CLASS16 "tooltips_class"
WC_TOOLTIPS_CLASS32 "tooltips_class32"
WC_TRAYCLOCKWCLASS "TrayClockWClass"
WC_TRAYNOTIFYWND "TrayNotifyWnd"


Plus, to avoid that a info of one specifc control is gone forever i´m posting here the 3 major articles i found about "commctrl_DragListMsg"

Btw. Some of their Labels are not the same as in Windows C sources i have. I labeled all as "WC_" to make easier to understand what it is

If someone find more, please post here to we fill the list :)
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

dedndave

some of the classes have "official" constant names that do not have a WC_ prefix
of course, the constant names are of little use in assembler   :P
we need a zero-terminated string to use them (except for the class atoms)

http://msdn.microsoft.com/en-us/library/windows/desktop/bb775491%28v=vs.85%29.aspx
notice the Community Additions section
it mentions that they are defined in commctrl.h
i am using XP, and an older PSDK, so it wouldn't do much good for me to look it up
but, you may find more if you look in the newer (win7/8) PSDK's

that brings up an interesting "flaw" in windows constants
the WC_ prefix is used for some of the Window Classes, but not most of them
the same WC_ prefix is also used for a few specific "WideChar" defines (WideCharToMultiByte flag constants)
a little confusing - and something MS doesn't usually do (use the same prefix for different things)

the one you have listed as WC_DIALOGBOX "#32770" is officially named WC_DIALOG
#define WC_DIALOG (MAKEINTATOM(0x8002))  ;make integer class atom C macro

on a related note....

http://masm32.com/board/index.php?topic=3586.0

guga

Hi dave

Tks

THis link is one from where i retrieved the information. I also saw in my sources from win2k, winNT and winXP research kernel, but i don´t have from win7/8. Where to dl the newer psdk files ? I mean, is there some place where i can dl them without installing ? For example, a rar file containing the headers and sources etc ?

About the names, yes...All are null terminated strings. Even WC_DIALOG have a equivalent string name "#32770" and not only an atom.

Here i didn´t created the Unicode Form. I only searched for their names while i was testing a ColorPicker example that Steve uploaded, but i´ll try later put the Unicode Counterpart.

For the colorpicker example, i´m trying to create a few functions to subclass the windows forms allowing the usage of colors, fonts, images on them. This would be good for the next updatesi plan to RosAsm that will convert a dialog resources in Windows Forms, but allowing colors, images etc, as we see in VB or Delphi.
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

adeyblue

Quote from: guga on September 10, 2014, 05:07:34 AM
THis link is one from where i retrieved the information. I also saw in my sources from win2k, winNT and winXP research kernel, but i don´t have from win7/8. Where to dl the newer psdk files ? I mean, is there some place where i can dl them without installing ? For example, a rar file containing the headers and sources etc ?

MS don't seem to want to offer an SDK iso anymore (at least I couldn't find one), and the small exe downloader they give will insist on installing .Net 4.5 before telling you it wont install the headers/libs if you're not on Win 8. Anyway, I mined the component URLs and made my own ISO. The links to the individual components are there too so you don't have to d/l 565MB for just two things. It contains everything the installer can download though, not a dump of the headers/libs.

I'm kind of in awe as how they've made what are essentially a bunch of text files and a few libs require a total of 29 installers, 19 installer patches, and 110 cabs.

guga

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

adeyblue

Since I guess most will just want the h/lib's, I ripped just the bare installed SDK directory I've put it here (22 MB 7z expanding to 280 MB) since I've forgotten my mega password.

dedndave

you can get the ISO's for windows 7

http://msdn.microsoft.com/en-US/windows/desktop/ff851942.aspx

it's probably not required to create the UNICODE versions
in assembler, we have to create a string, anyways
so, if a programmer wants a UNICODE class name string, he'll probably use a macro

dedndave

these are from the win7-32 bit (dotnet 4) PSDK

there are 2 versions - one is international, i think

guga

Many tks guys

I´ll try to organize them to search for more classes

Btw. The exe files from win8 (The 22Mb file) also works on winXP :icon_mrgreen:
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

dedndave

i have visual studio 2005 installed
if you install one of the newer PSDK's (win7+), VS2005 won't work properly
at least, that's what i've read in the installation notes

i have a 2003 PSDK installed, and i don't want it messed up   :P

xandaz

    Hi guys. Could someone type down the actual class names for the common-controls, like : ToolbarWindow32",0 - or point to a thread where it's written.
    thanks.

aw27

#11
Quote from: xandaz on December 01, 2019, 06:37:30 AM
    Hi guys. Could someone type down the actual class names for the common-controls, like : ToolbarWindow32",0 - or point to a thread where it's written.
    thanks.

ToolbarWindow32 is an actual class name. Are you looking for a #define of it?

aw27

I type with 2 fingers and keep glancing at them and at the monitor.  :sad:
But i met really impressive typists ablte to talk with you while typing. None of them was a programmer.  :biggrin:

Oops, wrong thread. Sorry, daydreamer.