|
I was hoping you give a Haskell example.
|
|
|
|
|
Sorry man, I don't know Haskell .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
How to Get CMenu Rect?
CRect rectMenu;
::GetWindowRect((HWND)?, rectMenu);
if so, how to get HWND of CMenu.
I want to ClipCursor(), limit the range of cursor movement within the Rect of PopupMenu.
to do this, first I have to get the shown rect of my CMenu(from rightbutton contextmenu).
modified on Tuesday, August 10, 2010 9:39 AM
|
|
|
|
|
CMenu has no HWND .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
then...
How to Get CMenu Rect?
|
|
|
|
|
For what purpose? Explain what you are trying to do. Knowing that, someone may be able to explain a better approach.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
I want to ClipCursor(), limit the range of cursor movement within the Rect of PopupMenu.
|
|
|
|
|
Really? What if the user did not want to make a selection? How would they dismiss the popup menu?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
|
That might work (in theory) but it goes against the expected UI behavior of Windows.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
dancingfish wrote: want to ClipCursor(), limit the range of cursor movement within the Rect of PopupMenu.
It's already limited; if the use clicks outside the popup then the menu is cancelled. Perhaps you need to provide more information on exactly what you are trying to achieve.
It's time for a new signature.
|
|
|
|
|
You could create an instance of CMFCPopupMenu ,
it has a window handle...
virtual void BeHappy() = 0;
|
|
|
|
|
My project is in WTL. no MFC. there is no CMFCPopupMenu.
m_pPopupMenu = new CMenu;
BOOL bMenuSucc = m_pPopupMenu->CreatePopupMenu();
I just want the rect of CMenu.
there is no right answer for my question...
|
|
|
|
|
Hey guys,
I have implemented a project and in some part of it i create log files (.txt). As one can guess, I put the newest record at the end of the file with SeekToEnd(). But if there is a way to write the new data at the beginning of the file -NOT OVERWRITING THE OLDER- ?
|
|
|
|
|
The only way would be reading the whole file into memory then updating the memory content and finally writing back the memory buffer to the file. No need to say that's silly.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
You would probably be better off using a log reader doing post-sorting.
|
|
|
|
|
dilara semerci wrote: is a way to write the new data at the beginning of the file -NOT OVERWRITING THE OLDER- ?
From a technical point of view: Yes it is possible. Open a new file, write new entry, copy the complete log file, swap files (remove, rename). This is probably something you don't want to do very often and not with large log files.
From a design point of view: Probably it's easier to let the log file visualisation class show newest entries on top (twitter like), but let the log file class write to the end of the file. If users prefer to use command line tools (tail -f) they are used to log files being updated this way.
Hope this helps.
/M
|
|
|
|
|
actually the other reason that i want to have the log files in the reverse order -beside the readability - is that i want to have a size limit-say 50mb- and keep the newest data but erase the oldest not to exceed this size limit. One of my friends say that there are built-in functions in phyton to do that but i am working in vc++ and there must be some way to achieve this. If you got any idea that you can share with me, i would be grateful.
Thanks,
Dilara
|
|
|
|
|
You may wrap around log entries on a standard (i.e. the last entry is at the end of the file) log file.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
You are right, my reply was plainly wrong, because you cannot just wrap around with a text file.
With log files you may choose a different strategy: use multiple files, discarding the oldest one each time you need a new one.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Don't worry, some posters work better after their morning cappuccino.
|
|
|
|
|
|
dilara semerci wrote: have a size limit-say 50mb- and keep the newest data but erase the oldest not to exceed this size limit
Sure this is possible. If you want to keep log files under a certain size limit, the algorithm would be similar:
Write to end of log file. If it is over size X (e.g. 50MB), open a new file, seek log file 10% forward, copy the remaining log file, swap files (remove, rename), reopen new file. The reason why I suggested to skip 10% forward, is so that you don't have to to this operation every time. The application can fill the log file, it will be decreased in size from time to time, then it can fill it up again.
As an alternative to a single log file, use multiple files: Check if writing to end of log file will be over size X, if not write to end of file and if yes open a new file under a new name (overwrite if it exists) and continue logging there. The idea is to have multiple files to write to, e.g. logfile1.txt logfile2.txt logfile3.txt ... if you filled logfile3.txt you can start over with logfile1.txt again. Size of individual log file = total logging size X / number of files. Not very common, but possible.
Does this help?
/M
|
|
|
|
|
I am using a rich text control to display a block of formatted text. I create the control, set the content, then call the RequestResize method to notify the parent of the required height, and adjust the height to match. This works fine under VS 2005 on XP and Vista. Rebuilding under VS2010 as a 32 bit app and running on Windows 7 64 bit, the code does not work. The parent window does not receive the EN_REQUESTRESIZE message:
ON_NOTIFY(EN_REQUESTRESIZE, 0, OnRequestResize);
The parent window's OnRequestResize method is never called. So the control has zero height. This is bog standard code which worked fine before. Has anyone come across this? Any possible cause?
Okay: Problem solved. A zero control ID is not valid although we do not care about the control id, and it was accepted under VC 2005 on XP.
|
|
|
|