Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Windos
win32.3rdparty
win32.directx.audio
win32.directx.ddk
win32.directx.graphics
win32.directx.input
win32.directx.managed
win32.directx.misc
win32.directx.networking
win32.directx.sdk
win32.directx.video
win32.dirx.grap.shaders
win32.gdi
win32.international
win32.kernel
win32.messaging
win32.mmedia
win32.networks
win32.ole
win32.rtc
win32.tapi
win32.tapi.beta
win32.tools
win32.ui
win32.wince
win32.wmi
windows.mediacenter
winfx.aero
winfx.announcements
winfx.avalon
winfx.collaboration
winfx.fundamentals
winfx.general
winfx.indigo
winfx.sdk
winfx.winfs
  
 
date: Thu, 12 Jun 2008 10:28:43 -0700,    group: microsoft.public.win32.programmer.ui        back       


Buttons in Custom Control Don't Show.   
Hi Folks:

    Developing on XP Home, VS 2008 Pro, C++, WIN32, no MFC.

    I have a dialog, "IDD_SPLASH_DIALOG", with a custom control
which will be either a login dialog or a logo.  This post relates
to the custom control as a login dialog.

    The resoruce editor is being used to lay out both the splash
and the login screens.

    The controls in the login dialog don't display in the rectangle
that defines the custom control.

    Some graphics, consisting of some blocks of color and lines of
text are being drawn over the login dialog, as I want.  Then I
want to place the user name edit control and the password edit
control over these graphics.

    But GetDlgItem(hdlg, CONTROL_ID) returns NULL for controls I
know are in the login dialog.

    As stated, these are being layed out by the Resource Editor,
the splash dialog is the parent and the login is the child

    The child dialog is started with this:

       login_window_handle = CreateDialogParam(hinstance,
                                        TEXT("IDD_USER_LOGIN"),
                                            hwnd_parent,
                                            NULL,
                                           (LPARAM)dialog_parameter_ptr);

    Because the login screen is a custom control, I defined
a class for it, and open a WndProc instead of a DlgProc.

    The class definition has "cbWndExtra = DLGWINDOWEXTRA"
and the class name matches.  If it didn't the WndProc wouldn't
be called.

    The WndProc has

      return DefDlgProc(hdlg, message, wparam, lparam);

as the last statement.  Being a child dialog, in an app that
must respond to user input on a menu in another window, this
is a modeless dialog, as is it's parent.

    DestroyWindow() replaces the EndDialog() calls.  I'm not
making that mistake.

    Using the Resoruce Editor shows "IDD_USER_LOGIN" does have
the controls defined that the dialog proc can't find.

    This might be a hint.  I'm drawing the dialog with GDI+
functions.  When the dialog is running, nothing is drawn
until I drag part of the dialog off of the edge of the parent.
Then things seem to draw and be fine.

    If I'm using GDI+, do I still service the WM_PAINT.

    BeginPaint(hdlg, &ps); and EndPaint(hdlg, &ps); are
being called.


    Here is the .RC file for those two dialogs.  Any idea?

IDD_USER_LOGIN DIALOGEX 0, 0, 377, 173
STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
CLASS "USER_LOGIN_CLASS"
FONT 8, "Arial", 400, 0, 0x0
BEGIN
     EDITTEXT        IDC_ADMINISTRATIVE_USER_NAME,291,7,79,15,ES_AUTOHSCROLL
     EDITTEXT        IDC_LOGIN_PASSWORD,291,25,79,15,ES_PASSWORD | 
ES_AUTOHSCROLL
     LTEXT           "User  Name",IDC_STATIC,228,7,46,15,SS_CENTERIMAGE
     CTEXT           "Caps 
Lock",IDC_CAPS_LOCK_WARNING_STATIC,281,57,89,23,SS_CENTERIMAGE | NOT 
WS_VISIBLE
     LTEXT           "Password",IDC_STATIC,228,26,46,15,SS_CENTERIMAGE
     CONTROL         "Show As Clear 
Text",IDC_SHOW_PASS_PHRASE,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | 
BS_NOTIFY | WS_TABSTOP,177,62,90,15
     PUSHBUTTON      "Cancel",IDCANCEL,139,151,50,15,NOT WS_VISIBLE | 
WS_DISABLED
     DEFPUSHBUTTON   "OK",IDOK,66,151,50,15,NOT WS_VISIBLE | WS_DISABLED
END

IDD_SPLASH_DIALOG DIALOGEX 0, 0, 670, 416
STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
FONT 8, "Arial", 400, 0, 0x0
BEGIN
     PUSHBUTTON      "Cancel",IDCANCEL,239,395,50,14
     CONTROL 
"Custom1",IDC_LOGIN_CONTROL,"USER_LOGIN_CLASS",WS_TABSTOP,70,56,554,206
END

    I hope this isn't a stupid mistake, but I don't make smart
mistakes.

                                                         Thanks
                                                         Larry
date: Thu, 12 Jun 2008 10:28:43 -0700   author:   Larry Lindstrom

Re: Buttons in Custom Control Don't Show.   
Larry Lindstrom wrote:
> Hi Folks:
> 
>    Developing on XP Home, VS 2008 Pro, C++, WIN32, no MFC.
> 
>    I have a dialog, "IDD_SPLASH_DIALOG", with a custom control
> which will be either a login dialog or a logo.  This post relates
> to the custom control as a login dialog.
> 
>    The resoruce editor is being used to lay out both the splash
> and the login screens.
> 
>    The controls in the login dialog don't display in the rectangle
> that defines the custom control.
> 
>    Some graphics, consisting of some blocks of color and lines of
> text are being drawn over the login dialog, as I want.  Then I
> want to place the user name edit control and the password edit
> control over these graphics.
> 
>    But GetDlgItem(hdlg, CONTROL_ID) returns NULL for controls I
> know are in the login dialog.
> 
>    As stated, these are being layed out by the Resource Editor,
> the splash dialog is the parent and the login is the child
> 
>    The child dialog is started with this:
> 
>       login_window_handle = CreateDialogParam(hinstance,
>                                        TEXT("IDD_USER_LOGIN"),
>                                            hwnd_parent,
>                                            NULL,
>                                           (LPARAM)dialog_parameter_ptr);
> 
>    Because the login screen is a custom control, I defined
> a class for it, and open a WndProc instead of a DlgProc.
> 
>    The class definition has "cbWndExtra = DLGWINDOWEXTRA"
> and the class name matches.  If it didn't the WndProc wouldn't
> be called.
> 
>    The WndProc has
> 
>      return DefDlgProc(hdlg, message, wparam, lparam);
> 
> as the last statement.  Being a child dialog, in an app that
> must respond to user input on a menu in another window, this
> is a modeless dialog, as is it's parent.
> 
>    DestroyWindow() replaces the EndDialog() calls.  I'm not
> making that mistake.
> 
>    Using the Resoruce Editor shows "IDD_USER_LOGIN" does have
> the controls defined that the dialog proc can't find.
> 
>    This might be a hint.  I'm drawing the dialog with GDI+
> functions.  When the dialog is running, nothing is drawn
> until I drag part of the dialog off of the edge of the parent.
> Then things seem to draw and be fine.
> 
>    If I'm using GDI+, do I still service the WM_PAINT.
> 
>    BeginPaint(hdlg, &ps); and EndPaint(hdlg, &ps); are
> being called.
> 
> 
>    Here is the .RC file for those two dialogs.  Any idea?
> 
> IDD_USER_LOGIN DIALOGEX 0, 0, 377, 173
> STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
> CLASS "USER_LOGIN_CLASS"
> FONT 8, "Arial", 400, 0, 0x0
> BEGIN
>     EDITTEXT        IDC_ADMINISTRATIVE_USER_NAME,291,7,79,15,ES_AUTOHSCROLL
>     EDITTEXT        IDC_LOGIN_PASSWORD,291,25,79,15,ES_PASSWORD | 
> ES_AUTOHSCROLL
>     LTEXT           "User  Name",IDC_STATIC,228,7,46,15,SS_CENTERIMAGE
>     CTEXT           "Caps 
> Lock",IDC_CAPS_LOCK_WARNING_STATIC,281,57,89,23,SS_CENTERIMAGE | NOT 
> WS_VISIBLE
>     LTEXT           "Password",IDC_STATIC,228,26,46,15,SS_CENTERIMAGE
>     CONTROL         "Show As Clear 
> Text",IDC_SHOW_PASS_PHRASE,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | 
> BS_NOTIFY | WS_TABSTOP,177,62,90,15
>     PUSHBUTTON      "Cancel",IDCANCEL,139,151,50,15,NOT WS_VISIBLE | 
> WS_DISABLED
>     DEFPUSHBUTTON   "OK",IDOK,66,151,50,15,NOT WS_VISIBLE | WS_DISABLED
> END
> 
> IDD_SPLASH_DIALOG DIALOGEX 0, 0, 670, 416
> STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
> FONT 8, "Arial", 400, 0, 0x0
> BEGIN
>     PUSHBUTTON      "Cancel",IDCANCEL,239,395,50,14
>     CONTROL 
> "Custom1",IDC_LOGIN_CONTROL,"USER_LOGIN_CLASS",WS_TABSTOP,70,56,554,206
> END
> 
>    I hope this isn't a stupid mistake, but I don't make smart
> mistakes.
> 
>                                                         Thanks
>                                                         Larry

Referring to the code fragments above:

Does the call to CreateDialogParam() succeed or fail?

Is hwnd_parent a valid window handle? Is it the handle of your splash 
dialog?

Is the result from CreateDialogParam() being used in the call to 
GetDlgItem()?

Are you doing something to position your IDD_USER_LOGIN dialog somewhere 
other than the upper-left corner of the (presumably) splash dialog?

Have you looked at the windows created by your application with Spy++?

I see that you are creating a control called IDC_LOGIN_CONTROL in your 
splash dialog. Why are you doing that in addition to calling 
CreateDialogParam() to create the log-in dialog? Perhaps the window (it 
won't be a dialog) that is created by that control is in the Z order on 
top of the log-in dialog that you create with CreateDialogParam().

-- 
Norm

To reply, change domain to an adult feline.
date: Thu, 12 Jun 2008 19:25:56 -0700   author:   Norman Bullen

Re: Buttons in Custom Control Don't Show.   
Norman Bullen wrote:
> Larry Lindstrom wrote:
>> Hi Folks:
>>
>>    Developing on XP Home, VS 2008 Pro, C++, WIN32, no MFC.
>>
>>    I have a dialog, "IDD_SPLASH_DIALOG", with a custom control
>> which will be either a login dialog or a logo.  This post relates
>> to the custom control as a login dialog.
>>
>>    The resoruce editor is being used to lay out both the splash
>> and the login screens.
>>
>>    The controls in the login dialog don't display in the rectangle
>> that defines the custom control.
>>
>>    Some graphics, consisting of some blocks of color and lines of
>> text are being drawn over the login dialog, as I want.  Then I
>> want to place the user name edit control and the password edit
>> control over these graphics.
>>
>>    But GetDlgItem(hdlg, CONTROL_ID) returns NULL for controls I
>> know are in the login dialog.
>>
>>    As stated, these are being layed out by the Resource Editor,
>> the splash dialog is the parent and the login is the child
>>
>>    The child dialog is started with this:
>>
>>       login_window_handle = CreateDialogParam(hinstance,
>>                                        TEXT("IDD_USER_LOGIN"),
>>                                            hwnd_parent,
>>                                            NULL,
>>                                           (LPARAM)dialog_parameter_ptr);
>>
>>    Because the login screen is a custom control, I defined
>> a class for it, and open a WndProc instead of a DlgProc.
>>
>>    The class definition has "cbWndExtra = DLGWINDOWEXTRA"
>> and the class name matches.  If it didn't the WndProc wouldn't
>> be called.
>>
>>    The WndProc has
>>
>>      return DefDlgProc(hdlg, message, wparam, lparam);
>>
>> as the last statement.  Being a child dialog, in an app that
>> must respond to user input on a menu in another window, this
>> is a modeless dialog, as is it's parent.
>>
>>    DestroyWindow() replaces the EndDialog() calls.  I'm not
>> making that mistake.
>>
>>    Using the Resoruce Editor shows "IDD_USER_LOGIN" does have
>> the controls defined that the dialog proc can't find.
>>
>>    This might be a hint.  I'm drawing the dialog with GDI+
>> functions.  When the dialog is running, nothing is drawn
>> until I drag part of the dialog off of the edge of the parent.
>> Then things seem to draw and be fine.
>>
>>    If I'm using GDI+, do I still service the WM_PAINT.
>>
>>    BeginPaint(hdlg, &ps); and EndPaint(hdlg, &ps); are
>> being called.
>>
>>
>>    Here is the .RC file for those two dialogs.  Any idea?
>>
>> IDD_USER_LOGIN DIALOGEX 0, 0, 377, 173
>> STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
>> CLASS "USER_LOGIN_CLASS"
>> FONT 8, "Arial", 400, 0, 0x0
>> BEGIN
>>     EDITTEXT        
>> IDC_ADMINISTRATIVE_USER_NAME,291,7,79,15,ES_AUTOHSCROLL
>>     EDITTEXT        IDC_LOGIN_PASSWORD,291,25,79,15,ES_PASSWORD | 
>> ES_AUTOHSCROLL
>>     LTEXT           "User  Name",IDC_STATIC,228,7,46,15,SS_CENTERIMAGE
>>     CTEXT           "Caps 
>> Lock",IDC_CAPS_LOCK_WARNING_STATIC,281,57,89,23,SS_CENTERIMAGE | NOT 
>> WS_VISIBLE
>>     LTEXT           "Password",IDC_STATIC,228,26,46,15,SS_CENTERIMAGE
>>     CONTROL         "Show As Clear 
>> Text",IDC_SHOW_PASS_PHRASE,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | 
>> BS_NOTIFY | WS_TABSTOP,177,62,90,15
>>     PUSHBUTTON      "Cancel",IDCANCEL,139,151,50,15,NOT WS_VISIBLE | 
>> WS_DISABLED
>>     DEFPUSHBUTTON   "OK",IDOK,66,151,50,15,NOT WS_VISIBLE | WS_DISABLED
>> END
>>
>> IDD_SPLASH_DIALOG DIALOGEX 0, 0, 670, 416
>> STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
>> FONT 8, "Arial", 400, 0, 0x0
>> BEGIN
>>     PUSHBUTTON      "Cancel",IDCANCEL,239,395,50,14
>>     CONTROL 
>> "Custom1",IDC_LOGIN_CONTROL,"USER_LOGIN_CLASS",WS_TABSTOP,70,56,554,206
>> END
>>
>>    I hope this isn't a stupid mistake, but I don't make smart
>> mistakes.
>>
>>                                                         Thanks
>>                                                         Larry
> 
> Referring to the code fragments above:
> 
> Does the call to CreateDialogParam() succeed or fail?

Thanks Again Norman:

    Sorry about not getting back to you sooner.  I was laid out
by a cold.

    I was working on an alternative to get the login displayed
and had #ifdefed out the call to CreateDialogParam.

    In response to your post I'm bringing the custom control
back, without the unneeded CreateDialogParam(), but the
problem persists.

    The WndProc defined in USER_LOGIN_CLASS is called.  But calling
GetDlgItem() for any controls continues to return a value of zero.
Tests of GetDlgItem() fail when servicing WM_PAINT.  My experience
tells me that at that point all controls usually exists.

> Is hwnd_parent a valid window handle? Is it the handle of your splash 
> dialog?

    All references to hwnd_parent are now #ifdefed out.  However,
calls to GetParent(hdlg) in the login dialog return the handle for
the splash dialog, which is what it should do.

> Is the result from CreateDialogParam() being used in the call to 
> GetDlgItem()?

    No longer being called.

> Are you doing something to position your IDD_USER_LOGIN dialog somewhere 
> other than the upper-left corner of the (presumably) splash dialog?

    Nope.

> Have you looked at the windows created by your application with Spy++?

    Yes.  Spy++ show messages that I beieve are to be expected in the
login child.

> I see that you are creating a control called IDC_LOGIN_CONTROL in your 
> splash dialog. Why are you doing that in addition to calling 
> CreateDialogParam() to create the log-in dialog? Perhaps the window (it 
> won't be a dialog) that is created by that control is in the Z order on 
> top of the log-in dialog that you create with CreateDialogParam().

    I remember attempting this before, with no luck.  I've gone over
threads I've started in this group and they have never lead to a
resolution of this issue.

    Do you think it's possible to define a custom control, and assign
a resource editor dialog template that defines controls to it?

    I appreciate your advice Norm.

                                                 Thanks
                                                 Larry
date: Sun, 15 Jun 2008 03:46:18 -0700   author:   Larry Lindstrom

Re: Buttons in Custom Control Don't Show.   
Larry Lindstrom wrote:
> Norman Bullen wrote:
> 
>> Larry Lindstrom wrote:
>>
>>> Hi Folks:
>>>
>>>    Developing on XP Home, VS 2008 Pro, C++, WIN32, no MFC.
>>>
>>>    I have a dialog, "IDD_SPLASH_DIALOG", with a custom control
>>> which will be either a login dialog or a logo.  This post relates
>>> to the custom control as a login dialog.
>>>
>>>    The resoruce editor is being used to lay out both the splash
>>> and the login screens.
>>>
>>>    The controls in the login dialog don't display in the rectangle
>>> that defines the custom control.
>>>
>>>    Some graphics, consisting of some blocks of color and lines of
>>> text are being drawn over the login dialog, as I want.  Then I
>>> want to place the user name edit control and the password edit
>>> control over these graphics.
>>>
>>>    But GetDlgItem(hdlg, CONTROL_ID) returns NULL for controls I
>>> know are in the login dialog.
>>>
>>>    As stated, these are being layed out by the Resource Editor,
>>> the splash dialog is the parent and the login is the child
>>>
>>>    The child dialog is started with this:
>>>
>>>       login_window_handle = CreateDialogParam(hinstance,
>>>                                        TEXT("IDD_USER_LOGIN"),
>>>                                            hwnd_parent,
>>>                                            NULL,
>>>                                           (LPARAM)dialog_parameter_ptr);
>>>
>>>    Because the login screen is a custom control, I defined
>>> a class for it, and open a WndProc instead of a DlgProc.
>>>
>>>    The class definition has "cbWndExtra = DLGWINDOWEXTRA"
>>> and the class name matches.  If it didn't the WndProc wouldn't
>>> be called.
>>>
>>>    The WndProc has
>>>
>>>      return DefDlgProc(hdlg, message, wparam, lparam);
>>>
>>> as the last statement.  Being a child dialog, in an app that
>>> must respond to user input on a menu in another window, this
>>> is a modeless dialog, as is it's parent.
>>>
>>>    DestroyWindow() replaces the EndDialog() calls.  I'm not
>>> making that mistake.
>>>
>>>    Using the Resoruce Editor shows "IDD_USER_LOGIN" does have
>>> the controls defined that the dialog proc can't find.
>>>
>>>    This might be a hint.  I'm drawing the dialog with GDI+
>>> functions.  When the dialog is running, nothing is drawn
>>> until I drag part of the dialog off of the edge of the parent.
>>> Then things seem to draw and be fine.
>>>
>>>    If I'm using GDI+, do I still service the WM_PAINT.
>>>
>>>    BeginPaint(hdlg, &ps); and EndPaint(hdlg, &ps); are
>>> being called.
>>>
>>>
>>>    Here is the .RC file for those two dialogs.  Any idea?
>>>
>>> IDD_USER_LOGIN DIALOGEX 0, 0, 377, 173
>>> STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
>>> CLASS "USER_LOGIN_CLASS"
>>> FONT 8, "Arial", 400, 0, 0x0
>>> BEGIN
>>>     EDITTEXT        
>>> IDC_ADMINISTRATIVE_USER_NAME,291,7,79,15,ES_AUTOHSCROLL
>>>     EDITTEXT        IDC_LOGIN_PASSWORD,291,25,79,15,ES_PASSWORD | 
>>> ES_AUTOHSCROLL
>>>     LTEXT           "User  Name",IDC_STATIC,228,7,46,15,SS_CENTERIMAGE
>>>     CTEXT           "Caps 
>>> Lock",IDC_CAPS_LOCK_WARNING_STATIC,281,57,89,23,SS_CENTERIMAGE | NOT 
>>> WS_VISIBLE
>>>     LTEXT           "Password",IDC_STATIC,228,26,46,15,SS_CENTERIMAGE
>>>     CONTROL         "Show As Clear 
>>> Text",IDC_SHOW_PASS_PHRASE,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | 
>>> BS_NOTIFY | WS_TABSTOP,177,62,90,15
>>>     PUSHBUTTON      "Cancel",IDCANCEL,139,151,50,15,NOT WS_VISIBLE | 
>>> WS_DISABLED
>>>     DEFPUSHBUTTON   "OK",IDOK,66,151,50,15,NOT WS_VISIBLE | WS_DISABLED
>>> END
>>>
>>> IDD_SPLASH_DIALOG DIALOGEX 0, 0, 670, 416
>>> STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE
>>> FONT 8, "Arial", 400, 0, 0x0
>>> BEGIN
>>>     PUSHBUTTON      "Cancel",IDCANCEL,239,395,50,14
>>>     CONTROL 
>>> "Custom1",IDC_LOGIN_CONTROL,"USER_LOGIN_CLASS",WS_TABSTOP,70,56,554,206
>>> END
>>>
>>>    I hope this isn't a stupid mistake, but I don't make smart
>>> mistakes.
>>>
>>>                                                         Thanks
>>>                                                         Larry
>>
>>
>> Referring to the code fragments above:
>>
>> Does the call to CreateDialogParam() succeed or fail?
> 
> 
> Thanks Again Norman:
> 
>    Sorry about not getting back to you sooner.  I was laid out
> by a cold.
> 
>    I was working on an alternative to get the login displayed
> and had #ifdefed out the call to CreateDialogParam.
> 
>    In response to your post I'm bringing the custom control
> back, without the unneeded CreateDialogParam(), but the
> problem persists.
> 
>    The WndProc defined in USER_LOGIN_CLASS is called.  But calling
> GetDlgItem() for any controls continues to return a value of zero.
> Tests of GetDlgItem() fail when servicing WM_PAINT.  My experience
> tells me that at that point all controls usually exists.
> 
>> Is hwnd_parent a valid window handle? Is it the handle of your splash 
>> dialog?
> 
> 
>    All references to hwnd_parent are now #ifdefed out.  However,
> calls to GetParent(hdlg) in the login dialog return the handle for
> the splash dialog, which is what it should do.
> 
>> Is the result from CreateDialogParam() being used in the call to 
>> GetDlgItem()?
> 
> 
>    No longer being called.
> 
>> Are you doing something to position your IDD_USER_LOGIN dialog 
>> somewhere other than the upper-left corner of the (presumably) splash 
>> dialog?
> 
> 
>    Nope.
> 
>> Have you looked at the windows created by your application with Spy++?
> 
> 
>    Yes.  Spy++ show messages that I beieve are to be expected in the
> login child.
> 
>> I see that you are creating a control called IDC_LOGIN_CONTROL in your 
>> splash dialog. Why are you doing that in addition to calling 
>> CreateDialogParam() to create the log-in dialog? Perhaps the window 
>> (it won't be a dialog) that is created by that control is in the Z 
>> order on top of the log-in dialog that you create with 
>> CreateDialogParam().
> 
> 
>    I remember attempting this before, with no luck.  I've gone over
> threads I've started in this group and they have never lead to a
> resolution of this issue.
> 
>    Do you think it's possible to define a custom control, and assign
> a resource editor dialog template that defines controls to it?
> 
>    I appreciate your advice Norm.
> 
>                                                 Thanks
>                                                 Larry
> 
The CONTROL statement in a dialog resource only creates a single window; 
it does not create a dialog. If you want a dialog to be placed on 
another dialog as if it is a control, you need to call CreateDialog(), 
usually in the dialog procedure of the parent dialog.

-- 
Norm

To reply, change domain to an adult feline.
date: Sun, 15 Jun 2008 07:33:15 -0700   author:   Norman Bullen

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us