The problem you described was the "Add variable" was disabled. compelety
different than DoDataExchange not getting called.
that the superclass does.
AliR.
AliR (VC++ MVP) wrote:
I think if you delete the .aps file in your projects directory and reload
the project, things should be fixed.
AliR.
Hello AliR and thanks for the quick reply! That was a good tip you
suggested and I'm sure it will be useful. However, I think I might have
solved my problem.
I thought that when you, using the resource editor, added a (control)
variable something "magical" under the hood happened (but I wasn't sure
what it was), so you had to do it that way if you want to have dynamic
data exchange. However, if you already have a dialog class that you want
to convert from using GetDlgItem(), you don't have to do something in the
resource editor to set up dynamic data exchange (hope that's the correct
the term). You do, however, have to call CDialog's OnInitDialog() if you
have overridden OnInitDialog in your dialog class or DoDataExchange will
not be called. I had forgotten to call CDialog::OnInitDialog and soon as I
added that call it worked, my DoDataExchange was called (it wasn't called
before). This has been a very good lesson for me.
However, it brings me something I've been thinking about: For which member
functions should always make sure to call the base implementation? I'm
unsure about that.
- Eric
[snip]