Click here to Skip to main content
15,902,189 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralForming Grid using Rectangles Pin
jinbabaj15-May-05 18:15
jinbabaj15-May-05 18:15 
GeneralRe: Forming Grid using Rectangles Pin
Ryan Binns15-May-05 18:28
Ryan Binns15-May-05 18:28 
GeneralRe: Forming Grid using Rectangles Pin
Blake Miller16-May-05 8:35
Blake Miller16-May-05 8:35 
GeneralRe: Forming Grid using Rectangles Pin
ucc80116-May-05 20:46
ucc80116-May-05 20:46 
GeneralQuestion: How can I create and show the MSOFFICE files from stream Pin
figer15-May-05 16:48
figer15-May-05 16:48 
GeneralHooking RegisterClassEx and dll question Pin
Kuniva15-May-05 12:45
Kuniva15-May-05 12:45 
GeneralRe: Hooking RegisterClassEx and dll question Pin
Ryan Binns15-May-05 18:43
Ryan Binns15-May-05 18:43 
GeneralRe: Hooking RegisterClassEx and dll question Pin
Kuniva16-May-05 3:03
Kuniva16-May-05 3:03 
Hmm ok..
First of all, I just checked and the progress control is the normal one registered through InitCommonControlsEx(). Now, I did some testing and came up with some stuff I really can't explain:

First I made a test app that simply consists of a window and it does the following on startup:

INITCOMMONCONTROLSEX icc;

icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = ICC_PROGRESS_CLASS;

InitCommonControlsEx(&icc);


Now my hooking app logs both InitCommonControlsEx() and RegisterClassEx(). When I run my test app, I get a log for InitCommonControlsEx() just as I should PLUS a call to RegisterClassEx() (for the progress control). Now the weird thing is, in my hooking app I also log the lpszClassName member of the WNDCLASSEX structure for the RegisterClassEx() function. For my test app I get "PROGRESS"... ???? WTF | :WTF: I mean.. wth is going on, isn't it supposed to be "msctls_progress32" or something?

Now, another weird thing. As I've said I checked the class of the IE progress bar by using Spy++ and it's msctls_progress32. Now the thing is, when I have my hooking app running, then start IE, I DO log two RegisterClassEx() calls but NO InitCommonControlsEx() calls? The ones I do log are the following:

RegisterClassExA() - CicMarshalWndClass
RegisterClassExA() - IMMIF UI

Now, am I right to conclude from this that the "Common progressbar" control IS NOT of class msctls_progress32 but just.. PROGRESS? However, that's impossible because I checked commctrl.h and there it's declared as follows:

//====== PROGRESS CONTROL =====================================================

#ifndef NOPROGRESS

#ifdef _WIN32

#define PROGRESS_CLASSA         "msctls_progress32"
#define PROGRESS_CLASSW         L"msctls_progress32"

#ifdef UNICODE
#define  PROGRESS_CLASS         PROGRESS_CLASSW
#else
#define  PROGRESS_CLASS         PROGRESS_CLASSA
#endif

#else
#define PROGRESS_CLASS          "msctls_progress"
#endif


I am seriously confused about all this and any clarification would be wonderful. Thanks.

Kuniva
--------------------------------------------
GeneralRe: Hooking RegisterClassEx and dll question Pin
Ryan Binns17-May-05 1:19
Ryan Binns17-May-05 1:19 
GeneralAsian scripts and DrawText(DT_CALCRECT) Pin
Jörgen Sigvardsson15-May-05 10:31
Jörgen Sigvardsson15-May-05 10:31 
GeneralRe: Asian scripts and DrawText(DT_CALCRECT) Pin
Gary R. Wheeler15-May-05 13:54
Gary R. Wheeler15-May-05 13:54 
GeneralRe: Asian scripts and DrawText(DT_CALCRECT) Pin
Anonymous15-May-05 20:11
Anonymous15-May-05 20:11 
GeneralRe: Asian scripts and DrawText(DT_CALCRECT) Pin
Chris Richardson15-May-05 17:07
Chris Richardson15-May-05 17:07 
GeneralRe: Asian scripts and DrawText(DT_CALCRECT) Pin
Anonymous15-May-05 20:12
Anonymous15-May-05 20:12 
GeneralRe: Asian scripts and DrawText(DT_CALCRECT) Pin
Ryan Binns15-May-05 18:34
Ryan Binns15-May-05 18:34 
GeneralRe: Asian scripts and DrawText(DT_CALCRECT) Pin
Anonymous15-May-05 20:13
Anonymous15-May-05 20:13 
QuestionCan VC6 and a later version reside on the same machine? Pin
WREY15-May-05 9:39
WREY15-May-05 9:39 
AnswerRe: Can VC6 and a later version reside on the same machine? Pin
Jörgen Sigvardsson15-May-05 10:33
Jörgen Sigvardsson15-May-05 10:33 
GeneralRe: Can VC6 and a later version reside on the same machine? Pin
PJ Arends15-May-05 10:37
professionalPJ Arends15-May-05 10:37 
GeneralRe: Can VC6 and a later version reside on the same machine? Pin
WREY15-May-05 11:07
WREY15-May-05 11:07 
GeneralRe: Can VC6 and a later version reside on the same machine? Pin
Kevin McFarlane16-May-05 1:51
Kevin McFarlane16-May-05 1:51 
GeneralRe: Can VC6 and a later version reside on the same machine? Pin
WREY15-May-05 11:08
WREY15-May-05 11:08 
AnswerRe: Can VC6 and a later version reside on the same machine? Pin
Gary R. Wheeler15-May-05 14:08
Gary R. Wheeler15-May-05 14:08 
GeneralRe: Can VC6 and a later version reside on the same machine? Pin
WREY15-May-05 14:24
WREY15-May-05 14:24 
GeneralRe: Can VC6 and a later version reside on the same machine? Pin
Antony M Kancidrowski16-May-05 4:08
Antony M Kancidrowski16-May-05 4:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.