about date time picker in VC7.1 again.

        I did the specific casting of as NMHDR instead of NMDATETIMECHANGE
and it compiles in VC7.1 . But for this particular handler
Inside this handler I am checking if the date time picker control has set
valid date time {if (dtmh->dwFlags == GDT_VALID)}. For that I need to read
flags set in NMDATETIMECHANGE type of structure. How do I do this, or should
i assume it to be valid date time always?

Earlier the handler looked like this:
// This traps the DTN_DATETIMECHANGE notification and checks that the
date/time has actually changed. If it has, then the message is passed on to
the parent
//as normal, otherwise it is blocked.
BOOL CDateTimeCtrl::OnDateTimeChangeNotify(NMDATETIMECHANGE [now changed to
NMDHR only for VC7.1 ] *dtmh, LRESULT* pResult)
        *pResult = 0; // docs say we must return 0
        // Check box notification sent here.
    if (dtmh->dwFlags == GDT_NONE)
        TRACE(_T("control Disabled\n"));
        TRACE(_T("control Active\n"));

    // Has the date changed?
    BOOL bDateChanged = FALSE;

    if (dtmh->dwFlags == GDT_VALID)
            COleDateTime time = GetSystemTime();
            if (time != m_CurrentTime)
                m_CurrentTime = time;
                bDateChanged = TRUE;

        BOOL bUpDownStyle = ((GetStyle() & DTS_UPDOWN) == DTS_UPDOWN);

        if (bUpDownStyle) return FALSE; // Let parent handle message

        // If the control is NOT a DTS_UPDOWN style (ie it has a drop down)
        // then we need to catch multiple notifications of date changes
        // (this can cause infinite loops).
        if (m_bDroppedDown)
            if (bDateChanged)
                return TRUE; // Don't let the parent see the message if not
dropped down
                return FALSE; // Let parent see message, since date hasn't
            return FALSE; // Let parent handle message

Thanks in advance,
Sandip Shahane.


"sandeep" <sshahane@bindview.com> wrote in message
> Hi all,
>     I am using eventhandler class over date time picker control in VC 6.0.
> It has a message map section as below:
> **********
> //{{AFX_MSG_MAP(CDateTimeCtrl)


> While moving my code base to VC 7.1 it gives me following errors in the
> message map section. How can i fix this.
> DateTimeCtrl.cpp(121) : error C2440: 'static_cast' : cannot convert from
> 'BOOL (__thiscall CDateTimeCtrl::* )(NMDATETIMEFORMATW *,LRESULT *)' to
> 'BOOL (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)'
> None of the functions with this name in scope match the target type

Yes, that's right. An ON_NOTIFY_REFLECT_EX handler function has the
documented prototype...

BOOL memberFxn (NMHDR*, LRESULT*);

....so you need to fix all you handlers to match it. Previous versions of MFC
just shoe-horned the handler functions with a specific cast so anything
would work, but in MFC7 they use static_cast to enforce the proper

Jeff Partch [VC++ MVP]

sshahane (3)
1/10/2004 9:18:15 AM
vc.mfc 33608 articles. 0 followers. Follow

0 Replies

Similar Articles

[PageSpeed] 42


Similar Artilces:

filter by date and action
I have a table with three columns: Name Date Action Fred Today this Fred Today this Fred Today that Wilma Today this I want to sort by name and by date, but only if 'this' was done more than once on the same day, and not if 'that' was done on the same day,They have to perform this more than once, and they cannot have performed that on the same day. If not in excel, mssql maybe? Thanks, Harry On Aug 18, 1:53=A0pm, Harry <hamac...@gmail.com> wrote: > I have a table with three co...

House account limits, and another Run time error
I need unlimited $$ accounts for in house charges that are tender types, not for customers that we create for mailorders and such. These house charges are meant for other departments within our company. Ideas? Run time error '-2147467259(80004005)'. [DBNETLIB][connetionWrite (wrapperWrite()).] General newtork error. Check your network documentation. ---what could this mean??--- You'd want to be careful of accounting ramifications, but you can do this: 1. Set up a new account type, say "InHouse". (Database > Account Types > New -- settings within may not...

Calculate Years/Months Between Dates and then Average
We are using the formula =DATEDIF(A1,NOW(),"y") & "." & DATEDIF(A1,NOW(),"ym") to calculate the years and months from an employee hire date. Is there an easy way to average the years and months for a group of employees with the results of that formula? You could use: =AVERAGE(A1:A10*1) Array-entered, meaning press ctrl-shift-enter. But you could also just change your current formula to: =1*(DATEDIF(A1,NOW(),"y") & "." & DATEDIF(A1,NOW(),"ym")) Then just use: =AVERAGE(A1:A10) which is *not* array-entered. ...

time cell Highlight
how do i make a time cell that is behind Real time of less than minutes be highlighted i know how to use conditional formating but i dont know how to inpu information in time ie: A1= Real time 17:35 B1=17:33 B2=17:25 B3=17:18 in this case i need cell B1 to be highlighted which is behing Real tim (A1) of less than 5 minutes............ -- Pivotren ----------------------------------------------------------------------- Pivotrend's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=406 View this thread: http://www.excelforum.com/showthread.php?threadid=27255 Hi u...

Transaction Date VS Business Date
Our accounting department needs/wants to have all RMS SO reporting by business date opposed to transaction date. Usually these are the same unless you have sales and batches that close after midnight. For our store I would like to set 3 a.m. as the business day closing time. So when I run any type of reports I would like to get the information for a business date (range) starting at 3 a.m. till 3 a.m. the next day. I guess I could accomplish this by subtracting 3 hours from all the transaction (date and) times but I would have to do this for every single report which would be a lot of ...

Post Dated Checks
I had to prepare some post dated checks and we did not have fiscal periods set up yet to match the dates of the checks. Currently the check batches are waiting to be posted. What is the best way to handle post dated checks? If I create new fiscal years to match these dates, I will end up having 4 Open years. Is this the only way to do it? You can manage post dated checks in Microsoft Dynamics GP with the Payment Document Management module available on the Feature Pack 1 DVD image. For more info, take a look at MVP Mohammad Daoud's post on the subject at: https://communit...

Remove "Date: Yesterday" or "Date: Monday" from Outlook Inbox?
Outlook mail inbox now has headers that tell you what day the the email was sent. I find this visually annoying. Each emailalready has the time and day it was sent. I don't need the daily titles in the midst of the list of emails. How do I make them go away? I think you are talking about OL 2003 & the Arrange in Groups setting. Change it in View, Arrange by, uncheck Show in Groups. "silky" wrote: > Outlook mail inbox now has headers that tell you what day the the email was > sent. I find this visually annoying. Each emailalready has the time and day >...

Run-time error for objects deletion
Hi, I have made a list of option button. When I select a particular option, the excel should identify and delete the previous object names starting with "onstrfr". However, when it identifies the correct obj name "onstrfr", the obj.Delete gives "Run-time error '1004': Application-defined or object-defined error". I'll be grateful if someone can help me to solve this problem. Loy === FROM Sheet1======= Private Sub on3wdgtrfroption_Click() Call Sheet2.Deleteonstrfr Call Sheet2.OnshoreTrfr(myValue, 2) End Sub ===From Sh...

strange date format problem
Hi, I downloaded some data on excel using Bloomberg. One column has dates and the other has numbers. Dates appear as 01/01/1980 format which I want in Jan-80 format. I have changed the format cell properties but it still appears as 01/01/1980. I have to goto individual cell and press F2 <enter> so see the effect. Dont know why? I cant even copy paste format after that .... TIA/amag I am not sure, but is your workbook set to Auto-Recalculate? Try pushing <F9> to do a manual re-calculation, see if that changes the formats. If it does, go to Tools (on the menu bar), Options, Ca...

Excel puts a 1 at the end of my filename
Whenever I open any Excel file, Excel automatically puts a 1 at the end of the filename. So for instance I'm trying to open xxx.xls I get xxx1.xls. And I have noticed that since this started happening I only get the "save as" option when I go to save the file. What could be causing this? Are you sure the filename includes the .xls extension? If it really doesn't, how are you opening the workbook? If the name of the file is: xxx.XLT (with a T), then the file is a template file. If you are opening a *.xlt file in windows explorer, then windows figures that you want to...

How to sort by name then date?
I would like to look through all the emails to a particular person. If I click on the "To" column I can see all the emails to a particular person (actually there is a problem with that which I will mention next) but they seem to be in random order. Is there a way to have them sorted by date? (i.e. by name first, then by date). Actually, sorting on the "To" column does not get all the emails sent to a given email address. Because Outlook uses the "display as" field. It will often give different "display as" names to the same email address. C...

Concatenate including a date so that the date appears as a date
When I try to join the contents of several cells, one of which is a date and time obtained from =now(), the date and time part appears as a number. How can I make it appear as a date and time? I have tried changing the cell formats - probably there is a combination that works but I haven't found it. I also tried copying the original date cell to another cell and changing the latter cell's format and concatenating using that latter cell, but still no success. Use the TEXT function. For example, =TEXT(NOW(),"mmmm d, yyyy") would give January 6, 2010 "dd...

if statement with dates #2
I would like to have a statement like: IF(a1>0,1/1/2004) with 1/1/2004 beint a date. EXCEL is interpreting 1/1/2004 as an arithmetic statement and giving me the result of the arithemtic. I could put in the numeric offste for the date and write IF(a1>0,37987), formatting the cell as a date, but this seems awkward. What else can I do? TIA, Sanford ...

Counting Dates?
=COUNTIF(A1:A100,"<" & NOW()) This works good for specific cells. I have a similar question. How would I do the same thing given that: 1) You only have a starting date 2) Your only wanting to count work days (in this case 4 day/wk) up to NOW() Thank you for all your help. Aviator On Thu, 6 Jan 2005 12:53:03 -0800, "Aviator" <Aviator@discussions.microsoft.com> wrote: >=COUNTIF(A1:A100,"<" & NOW()) > >This works good for specific cells. I have a similar question. > >How would I do the same thing given that: >1) You only ha...

Count Unique Cells, within a date range (dates stored in separate column).
Hello All: I am attempting to create a formula that will count the number of unique cells (alpha-numeric) in an entire column (no set length, so ex: "$B:$B"). This count will be based on a date range (Between 2 dates). The dates are stored in another column (Ex: "$A:$A"). The following is an example of the cells. Dates PO_Num 1/2/2010 A123456 1/3/2010 B453453 2/2/2010 A123456 3/4/2010 C2342F3K 4/3/2010 123456 I would like to know a formula that can count the number of different PO's based on a given date range. Please help me if you...

An expression for dates from and to
I am trying to create an expression to select items from a date field falling from a certain date to a certain date. I am obviously missing something in my expression. The field name is DateComplete. How can I set up this expression to pull date from a certain date to a certain date? -- Ronnie Hi Ronnie, An example of the SQL would be: SELECT * FROM [TABLE NAME] WHERE DateComplete Between #1/1/2006# And #1/1/2007# ; On May 23, 3:52 pm, Ronnie <Ron...@discussions.microsoft.com> wrote: > I am trying to create an expression to select items from a date field falling > from a...

An uneven time-increment
Dear all, If in a spreadsheet you have years 1985, 1986, 1987, 1988, 1989, 1990, 2050 with associated data for each year, how do you produce a line graph of this without 2050 being positioned at the same interval on the x-axis as the difference between the other years? To clarify, because the difference between 2050 and 1990 is greater than the difference between the previous years (all 1), how do get Excel to represent this on the x-axis of a line graph? Thanks for your help, Steve -- smurray444 ------------------------------------------------------------------------ smurray444's Pr...

Returning only MAX(date) not all dates
I want to be able to list the most current date an item is checked out. As I was working through the query I used max as an aggregate function but I still can't get the simple result I want. I'd rather list the fields I have chosen and somehow select just the most current checkout date. Any help would be greatly appreciated. Here is my query: SELECT tblTerritory.TerritoryID, [TerritoryName] & " " & [TerritoryDescription] AS Description, tblTerritory.TerritoryTypeID, tblTerritoryType.TerritoryType, Max(tblTerritoryCheckout.DateCheckedOut) AS Checked...

System Date
Can anyone help me on how to force the system date to a member field of "Date" type? I could not find any help on msdn that comes with visual c++. Any hint or help will be appreciated. Thanks, Behrouzk Are you just trying to get the current date. You can use CTime::GetCurrentTime() or COleDateTime::GetCurrentTime() Tom "Behrouzk" <Behrouzk@discussions.microsoft.com> wrote in message news:D8FA4B6B-73CE-4058-B50C-C9BEBAB67E68@microsoft.com... > Can anyone help me on how to force the system date to a member field of > "Date" type? I could not fi...

Conditional Formatting
Hi, I have a spreadsheet that is for tracking work. I would like to have conditional formatting so that if the date in column E is between todays date and 4 weeks away then make it blue, if it is a date that is after 4 weeks away then make it yellow but if it is in the past make it red. Can this be done with conditional formatting or does it need vba? Also it would be nice if the whole row changes colour even if just the condition is on the date which is in column E - but if that can't be done then just the cell is fine. Thanks Assume the dates start in E2, select all dates w...

Hook at print time. Hook #1
I have a hook running a print time. The problem I am having is my hook needs to have the transaction saved first before the hook runs and the only time I can see that happening before printing is the before print hook #1. The problem I am having is the hook is supposed to update the transaction just updated and then print and the XML receipt file is supposed to use some of the information just saved. It seems that even though this hook is supposed to be before print time that it is actually formulating the XML file and getting the receipt ready before the hook is ran. Does anyone ...

Help! I don't know how to do a time series graph with Excel 2007!
Hello all! I am taking a statistics course this semester and I have learned how computer illiterate I am in regards to using Excel! I have to make a time series graph; in column A I put ages 1-14, and in column B I put in average heights for each age in inches. My problem is when I go to "Insert" and do "line chart", all the charts have 2 lines and I have no idea how to get all the data on one line. My teacher gave me step by step instructions but it was for the Excel 2003 program and I have Excel 2007 which is totally different. Any help would be appreciated!! Pam O...

Configuring Exchange 5.5 to use a RBL (Real-time Spam Black List)
Is it possible to use a RBL with Exchange 5.5? What's the simplest way? Don't want to manually enter every email address to block. Thanks Not directly. But majority of antivirus softwares for Exchange support RBL, for example Symantec Mail Security so you could do RBL's in antivirus software -- Regards, Dejan Foro dejan.foro@exchangemaster.net www.exchangemaster.net Join Exchange User Group Europe for free, post questions about Exchange, find useful Exchange links in our link library, chat with other members...See you at www.eugeurope.org/join "Cal_Cougar" ...

Time and date problem
Hello I have spreadsheet cell (B1) that contains a date and time: 05/11/2003 13:45:50 I have another series of cells (A1 to A100) that contain an increment of 30 seconds: 30.00 I would like to add the seconds to the date and time putting the result in column C, I have tried to do: =B1+(A1/100000) but the answer is wrong by 4 seconds and then gets worse the further down the column I go. Can somebody show me how to add the seconds to the date please. Thanks Tom Tom, Right method, wrong divider! 86,400 secs in a day.. change your 100000 to 86400 and you're there. Nikos Y. (nyannaco ...

Date subtraction -How to not show negative when 2nd date not entered
Hi, I have a section of a worksheet that just needs to show working days between two dates. For example, an order was entered on 9/2/07 and complete on 9/15/07 The formula =NETWORKDAYS(A1, A9) works perfectly except that until the "completed date" ise filled in, a negative number appears. Is there a way to have that remain blank until both dates have been entered? Thanks! Hi Edward, change your formula as =IF(A9="","",NETWORKDAYS(A1, A9)) -- Pranav Vaidya VBA Developer PN, MH-India If you think my answer is useful, please rate this post as an ANSWER...