The MASM Forum

Projects => Rarely Used Projects => RosAsm => Topic started by: guga on September 09, 2014, 03:28:17 PM

Title: Common and Uncommon Window Classes
Post by: guga on September 09, 2014, 03:28:17 PM
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 :)
Title: Re: Common and Uncommon Window Classes
Post by: dedndave on September 09, 2014, 11:46:08 PM
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 (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 (http://masm32.com/board/index.php?topic=3586.0)
Title: Re: Common and Uncommon Window Classes
Post by: guga on September 10, 2014, 05:07:34 AM
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.
Title: Re: Common and Uncommon Window Classes
Post by: adeyblue on September 10, 2014, 06:22:36 AM
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 (http://blog.airesoft.co.uk/2014/05/windows-sdk-8-1-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.
Title: Re: Common and Uncommon Window Classes
Post by: guga on September 10, 2014, 06:47:41 AM
Amazing. TKS TKS TKS  :t :t :t
Title: Re: Common and Uncommon Window Classes
Post by: adeyblue on September 10, 2014, 07:29:11 AM
Since I guess most will just want the h/lib's, I ripped just the bare installed SDK directory I've put it here (http://www72.zippyshare.com/d/54224267/18/nativebits.7z) (22 MB 7z expanding to 280 MB) since I've forgotten my mega password.
Title: Re: Common and Uncommon Window Classes
Post by: dedndave on September 10, 2014, 09:14:24 AM
you can get the ISO's for windows 7

http://msdn.microsoft.com/en-US/windows/desktop/ff851942.aspx (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
Title: Re: Common and Uncommon Window Classes
Post by: dedndave on September 10, 2014, 10:44:50 AM
these are from the win7-32 bit (dotnet 4) PSDK

there are 2 versions - one is international, i think
Title: Re: Common and Uncommon Window Classes
Post by: guga on September 10, 2014, 01:05:52 PM
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:
Title: Re: Common and Uncommon Window Classes
Post by: dedndave on September 10, 2014, 05:48:58 PM
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
Title: Re: Common and Uncommon Window Classes
Post by: 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.
Title: Re: Common and Uncommon Window Classes
Post by: aw27 on December 01, 2019, 09:42:54 PM
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?
Title: Re: Common and Uncommon Window Classes
Post by: aw27 on December 02, 2019, 10:15:35 AM
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.